實現乙個函式,判斷輸入是不是回文字串。

2021-09-11 09:08:11 字數 2405 閱讀 1014

雖然我是乙個還沒入門的小菜鳥,但我想做乙個好前端。

寫這個就是為了更好得學習更快得成長,早點脫坑,emmmm。

大致就是每篇解決乙個我正在學習內容中問題,梳理知識點。

由於水平有限,難免有誤,歡迎指正。

實現乙個函式,判斷輸入是不是回文字串。

分析
一、變數型別和計算

值型別和引用型別

ecmascript中有5中簡單資料型別,undefined,null,boolean,number和string,還有一種複雜型別object。

值型別儲存在棧(stack)中,是簡單的資料段,和變數重疊(變數在棧中僅僅是乙個儲存值的佔位符),也就是說在變數被訪問的位置。

引用型別被儲存在堆(heap)中,堆是記憶體中的動態區域,相當於自留空間,在程式執行期間會動態分配給**和堆疊。

值型別相等時每次都是建立乙個新的資料段,引用型別相等時指向的是同乙個資料塊。

var a=

var b=a

b.name="小紅"

console.log(a.name) //小紅

複製**

typeof運算子
typeof undefined //undefined

typeof 'abc' //string

typeof 1 // number

typeof false //boolean

typeof null //object

typeof {} //object

typeof //object

typeof console.log //object

複製**

從上面的**可以發現,type只能詳細區分值型別,而不能詳細區分引用型別。

而null也是值型別,但從邏輯的角度看這是乙個空物件指標。

變數計算中==和===

100='100'//true

0=''//true

null=undefined//true

複製**

== 是不嚴格相等,===是嚴格等於。雙等會出現隱式的型別轉換,所以一定要慎用。僅僅當出現下面情況時可以使用

if(obj.a==null)

複製**

二、split、join、reverse

join

定義:join() 方法用於把陣列中的所有元素放入乙個字串。 元素通過指定的分隔符進行分隔。

可選引數1,用來制定分隔符。如果省略該引數,則使用逗號作為分隔符。

var arr=["m","a","r","c","u","s"]

arr.join("--")//m--a--r--c--u--s

複製**

split

定義:split() 方法用於把乙個字串分割成字串陣列。

必須引數1,字串或正規表示式,從該引數指定的地方分割。 可選引數2,該引數可指定返回的陣列的最大長度。如果設定了該引數,返回的子串不會多於這個引數指定的陣列。如果沒有設定該引數,整個字串都會被分割,不考慮它的長度。

var str="how are you doing today?"

document.write(str.split(" ") + "

")//how,are,you,doing,today?

//如果把空字串 ("") 用作 separator,那麼 stringobject 中的每個字元之間都會被分割。

document.write(str.split("") + "

")//h,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?

//如果把空字串 (" ") 用作 separator,那麼 stringobject 會被拆成單詞。

document.write(str.split(" ",3))//how,are,you

複製**

reverse

定義:reverse用於顛倒陣列中的順序

var a=["1","2","3"]

a.reverse()// ["3", "2", "1"]

複製**

該方法會改變原來的陣列,而不會建立新的陣列。

function run (input)

else

}}複製**

if語句就一句話的時候可以省略方法體,另外else同理,結果直接用return返回結果。

function run(input) 

複製**

實現乙個函式,判斷乙個數是不是素數。

實現乙個函式,判斷乙個數是不是素數。題解 素數是表示乙個數只能被自己和1所整除的正整數,不包括1,0更不是素數,根據他的定義可以判斷條件,使用迴圈來達到多次判斷,理解更加深刻即可發現,判斷條件可優化為2到根號下x 表示所要判斷的數 即可。如下 c語言執行與vs2013 define crt secu...

LintCode判斷乙個數是不是回文數

判斷乙個數是不是回文數 我的想法是先將數字變成陣列,然後設定兩個指標分別從開頭和末尾一一比對.話不多說,如下 package com.yangshunfan.lintcode 判斷乙個數是不是回文數 public class huiwenshu 設定兩個指標 int left 0 int right...

判斷乙個變數是不是陣列

rt 判斷乙個變數 arr 是不是陣列 function isarray arr instanceof在哪些情況下會有問題?為什麼?var str str console.log str instanceof string false console.log typeof str string看上面...