1. js里==和===有什麼區別
==用於一般比較,===用於嚴格比較,==在比較的時候可以轉換數據類型,===嚴格比較,只要類型不匹配就返回flase。
舉例說明:
"1" == true類型不同,"=="將先做類型轉換,把true轉換為1,即為 "1" == 1;此時,類型仍不同,繼續進行類型轉換,把"1"轉換為1,即為 1 == 1。
1.如果比較:"1" === true 左側為字元型,右側為bool布爾型或int數值型,左右兩側類型不同,結果為false;
2.如果比較: 1 === 1 左側為int數值型,右側為int數值型,左右兩側類型相同,數值大小也相同,結果為true;
3.如果比較: 1 === 2 左側為int數值型,右側為int數值型,左右兩側類型相同,但數值大小不同,結果為false。
(1)js數組valueof擴展閱讀:
JavaScript腳本語言具有以下特點:
1.腳本語言。JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯後執行,而JavaScript是在程序的運行過程中逐行進行解釋。
2.基於對象。JavaScript是一種基於對象的腳本語言,它不僅可以創建對象,也能使用現有的對象。
3.簡單。JavaScript語言中採用的是弱類型的變數類型,對使用的數據類型未做出嚴格的要求,是基於Java基本語句和控制的腳本語言,其設計簡單緊湊。
4.動態性。JavaScript是一種採用事件驅動的腳本語言,它不需要經過Web伺服器就可以對用戶的輸入做出響應。
5.跨平台性。JavaScript腳本語言不依賴於操作系統,僅需要瀏覽器的支持。
參考資料:網路:js
2. 涓轟粈涔圝S涓鏁板肩被鍨嬪凡緇忓彲浠ヤ嬌鐢∟umber鏂規硶錛岃繕瑕佸紩鍏Number瀵硅薄姒傚康錛
JavaScript涓錛屾暟鍊肩被鍨嬫湁涓ょ嶈〃紺烘柟寮忥細鐩存帴閲忓拰Number瀵硅薄銆傝繖涓ょ嶈〃紺烘柟寮忓湪澶у氭暟鎯呭喌涓嬫槸絳変環鐨勶紝浣嗘槸瀹冧滑鏈変竴浜涢噸瑕佺殑鍖哄埆銆
鐩存帴閲忥紙涔熺О涓哄師濮嬪礆級琛ㄧず涓涓鏁板煎父閲忥紝瀹冪洿鎺ュ啓鍦ㄤ唬鐮佷腑錛屼緥濡10鎴栬3.14銆傜洿鎺ラ噺鏄涓嶅彲鍙樼殑錛屽畠浠鏄鍘熷嬬被鍨嬬殑鍊礆紝涓嶈兘璋冪敤鏂規硶錛屽彧鑳借繘琛屽熀鏈鐨勮繍綆椼
Number瀵硅薄琛ㄧず涓涓鏁板礆紝浣嗘槸瀹冩槸涓涓瀵硅薄錛岃屼笉鏄鍘熷嬬被鍨嬬殑鍊箋侼umber瀵硅薄鍙浠ヨ皟鐢ㄦ柟娉曟潵鎵ц屾洿楂樼駭鐨勬搷浣滐紝姣斿傝漿鎹涓哄瓧絎︿覆銆佹瘮杈冨ぇ灝忕瓑銆備絾鏄錛岀敱浜嶯umber瀵硅薄鏄鍙鍙樼殑錛屾墍浠ュ畠鐨勬ц兘瑕佹瘮鐩存帴閲忓樊涓浜涖
鎵浠ワ紝閫氬父鏉ヨ達紝鎴戜滑搴旇ヤ紭鍏堜嬌鐢ㄧ洿鎺ラ噺鏉ヨ〃紺烘暟鍊礆紝鍙鏈夊湪闇瑕佷嬌鐢∟umber瀵硅薄鐨勬柟娉曟椂鎵嶄嬌鐢∟umber瀵硅薄銆
瀵逛簬涓婇潰鐨勪緥瀛愶紝n1鍜宯2涓よ呴兘鍙浠ヨ皟鐢╰oString()鏂規硶鏉ュ皢鏁板艱漿鎹涓哄瓧絎︿覆錛屼絾鏄痭2鏄涓涓狽umber瀵硅薄錛屾墍浠ュ畠鍙浠ヨ皟鐢ㄦ洿澶氱殑鏂規硶銆備緥濡傦紝浣跨敤Number.isInteger()鏂規硶媯鏌ヤ竴涓鏁板兼槸鍚︿負鏁存暟鏃訛紝n1鏄鐩存帴閲忥紝鎵浠ュ畠鍙浠ョ洿鎺ヤ紶鍏`Number
鍙﹀栵紝鐢變簬Number.isInteger()鏂規硶鏄疦umber瀵硅薄鐨勪竴涓闈欐佹柟娉曪紝鑰屼笉鏄瀹炰緥鏂規硶錛屾墍浠ュ畠鏃犳硶鐩存帴鍦∟umber瀵硅薄瀹炰緥涓婅皟鐢ㄣ備緥濡傦紝鍦ㄤ笂闈㈢殑渚嬪瓙涓錛孨umber.isInteger(n1)榪斿洖true錛屽洜涓簄1鏄涓涓鐩存帴閲忥紝瀹冨彲浠ョ洿鎺ヤ紶鍏Number.isInteger()鏂規硶錛涜孨umber.isInteger(n2)榪斿洖false錛屽洜涓簄2鏄涓涓狽umber瀵硅薄瀹炰緥錛岃屼笉鏄鐩存帴閲忥紝瀹冧笉鑳界洿鎺ヤ紶鍏Number.isInteger()鏂規硶銆
鎬諱箣錛岀洿鎺ラ噺鍜孨umber瀵硅薄涓よ呴兘鍙浠ヨ〃紺烘暟鍊礆紝浣嗘槸瀹冧滑鏈変竴浜涢噸瑕佺殑鍖哄埆錛屽簲璇ユ牴鎹瀹為檯鎯呭喌鏉ラ夋嫨浣跨敤鍝縐嶆柟寮忋傞氬父鏉ヨ達紝鎴戜滑搴旇ヤ紭鍏堜嬌鐢ㄧ洿鎺ラ噺鏉ヨ〃紺烘暟鍊礆紝鍙鏈夊湪闇瑕佷嬌鐢∟umber瀵硅薄鐨勬柟娉曟椂鎵嶄嬌鐢∟umber瀵硅薄銆
3. JS自帶有幾種方法
js的方法可是有一些,想具體了解,可以去下載一本js手冊
a
abs 返回數字的絕對值
acos 返回數的反餘弦值
anchor 在對象中的指定文本兩端放置一個有 NAME 屬性 HTML 錨點
apply 應用某一對象的一個方法,用另一個對象替換當前對象
asin 返回數字的反正弦值
atan 返回數字的反正切值
atan2 返回由 X 軸到 ( y , x ) 點的角度(以弧度為單位)
atEnd 返回一個 Boolean 值,指明枚舉運算元是否位於集合的末尾
b
big 把 HTML <BIG> 標記放置在 String 對象中的文本兩端
blink 把 HTML <BLINK> 標記放置在 String 對象中的文本兩端
bold 把 HTML <B> 標記放置在 String 對象中的文本兩端
c
call 調用一個對象的一個方法,以另一個對象替換當前對象
ceil 返回大於等於其數字參數的最小整數
charAt 返回指定索引位置處的字元
charCodeAt 返回一個整數,代表指定位置上字元的 Unicode 編碼
compile 把正則表達式編譯為內部格式,從而執行得更快
concat 返回一個新數組,這個新數組是由兩個或更多數組組合而成的
concat(String) 返回字元串值,該值包含了兩個或更多個提供的字元串的連接
cos 返回數的餘弦值
d
decodeURI 返回一個已編碼的統一資源標識符 (URI) 的非編碼形式
decodeURIComponent 返回統一資源標識符 (URI) 的一個已編碼組件的非編碼形式
dimensions 返回 VBArray 的維數
e
encodeURI 將文本字元串編碼為一個有效的統一資源標識符 (URI)
encodeURIComponent 將文本字元串編碼為一個統一資源標識符 (URI) 的一個有效組件
escape 對 String 對象編碼以便它們能在所有計算機上可讀
eval 檢查 JScript 代碼並執行
exec 用正則表達式模式在字元串中運行查找,並返回包含該查找結果的一個數組
exp 返回 e(自然對數的底)的冪
f
fixed 把HTML<TT>標記放置在 String 對象中的文本兩端
floor 返回小於等於其數值參數的最大整數
fontcolor 把帶有 COLOR 屬性的一個 HTML <FONT> 標記放置在 String 對象中的文本兩端
fontsize 把一個帶有 SIZE 屬性的 HTML <FONT> 標記放置在 String 對象中的文本的兩端
fromCharCode 從一些 Unicode 字元值中返回一個字元串
g
getDate 返回 Date 對象中用本地時間表示的一個月中的日期值
getDay 返回 Date 對象中用本地時間表示的一周中的日期值
getFullYear 返回 Date 對象中用本地時間表示的年份值
getHours 返回 Date 對象中用本地時間表示的小時值
getItem 返回指定位置的項
getMilliseconds 返回 Date 對象中用本地時間表示的毫秒值
getMinutes 返回 Date 對象中用本地時間表示的分鍾值
getMonth 返回 Date 對象中用本地時間表示的月份值
getSeconds 返回 Date 對象中用本地時間表示的秒鍾值
getTime 返回 Date 對象中的時間值
getTimezoneOffset 返回用分鍾表示的主計算機上的時間和全球標准時間 (UTC)之間的差別
getUTCDate 返回 Date 對象中用全球標准時間 (UTC)表示的日期
getUTCDay 返回 Date 對象中用全球標准時間 (UTC)表示的一周中的日期值
getUTCFullYear 返回 Date 對象中用全球標准時間 (UTC)表示的年份值
getUTCHours 返回 Date 對象中用全球標准時間 (UTC)表示的小時值
getUTCMilliseconds 返回 Date 對象中用全球標准時間 (UTC)表示的毫秒值
getUTCMinutes 返回 Date 對象中用全球標准時間 (UTC)表示的分鍾值
getUTCMonth 返回 Date 對象中用全球標准時間 (UTC)表示的月份值
getUTCSeconds 返回 Date 對象中用全球標准時間 (UTC)表示的秒鍾值
getVarDate 返回 Date 對象中的 VT_DATE 值
getYear 返回 Date 對象中的年份值
i
indexOf 返回 String 對象內第一次出現子字元串的字元位置
isFinite 返回一個 Boolean 值,指明所提供的數字是否是有限的
isNaN 返回一個 Boolean 值,指明提供的值是否是保留值 NaN (不是數字)
italics 把 HTML <I> 標記放置在 String 對象中的文本兩端
item 返回集合中的當前項
j
join 返回字元串值,其中包含了連接到一起的數組的所有元素,元素由指定的分隔符分隔開
l
lastIndexOf 返回 String 對象中子字元串最後出現的位置
lbound 返回在 VBArray 的指定維中所使用的最小索引值
link 把一個有 HREF 屬性的 HTML 錨點放置在 String 對象中的文本兩端
localeCompare 返回一個值,指出在當前的區域設置中兩個字元串是否相同
log 返回數字的自然對數
match 使用正則表達式模式對字元串執行查找,並將包含查找的結果作為數組返回
max 返回給出的零個或多個數值表達式中較大者
min 返回給出的零個或多個數值表達式中較小者
moveFirst 重新將集合中的當前項設置為第一項
moveNext 將集合中的當前項移動到下一項
p
parse 解析一個包含日期的字元串,並返回該日期與 1970 年 1 月 1 日午夜之間所間隔的毫秒數
parseFloat 返回由字元串轉換得到的浮點數
parseInt 返回由字元串轉換得到的整數
pop 移除數組中的最後一個元素並返回該元素
push 將新元素添加到一個數組中,並返回數組的新長度值
r
random 返回介於 0 和 1 之間的偽隨機數
replace 返回根據正則表達式進行文字替換後的字元串 的拷貝
reverse 返回一個元素順序被反轉的 Array 對象
round 返回與給出的數值表達式最接近的整數
s
search 返回與正則表達式查找內容匹配的第一個子字元串的位置
setDate 設置 Date 對象中用本地時間表示的數字日期
setFullYear 設置 Date 對象中用本地時間表示的年份值
setHours 設置 Date 對象中用本地時間表示的小時值
setMilliseconds 設置 Date 對象中用本地時間表示的毫秒值
setMinutes 設置 Date 對象中用 本地時間表示的分鍾值
setMonth 設置 Date 對象中用 本地時間表示的月份值
setSeconds 設置 Date 對象中用 本地時間表示的秒鍾值
setTime 設置 Date 對象的日期和時間值
setUTCDate 設置 Date 對象中用全球標准時間 (UTC)表示的數值日期
setUTCFullYear 設置 Date 對象中用全球標准時間 (UTC)表示的年份值
setUTCHours 設置 Date 對象中用全球標准時間 (UTC)表示的小時值
setUTCMilliseconds 設置 Date 對象中用全球標准時間 (UTC)表示的毫秒值
setUTCMinutes 設置 Date 對象中用全球標准時間 (UTC)表示的分鍾值
setUTCMonth 設置 Date 對象中用 全球標准時間 (UTC)表示的月份值
setUTCSeconds 設置 Date 對象中用全球標准時間 (UTC)表示的秒值
setYear 設置 Date 對象中的年份值
shift 移除數組中的第一個元素並返回該元素
sin 返回數字的正弦值
slice (Array) 返回一個數組的一段
slice (String) 返回字元串的片段
small 將 HTML 的<SMALL> 標識添加到 String 對象中的文本兩端
sort 返回一個元素已經進行了排序的 Array 對象
splice 從一個數組中移除一個或多個元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素
split 將一個字元串分割為子字元串,然後將結果作為字元串數組返回
sqrt 返回數字的平方根
strike 將 HTML 的<STRIKE> 標識放置到 String 對象中的文本兩端
sub 將 HTML 的 <SUB> 標識放置到 String 對象中的文本兩端
substr 返回一個從指定位置開始的指定長度的子字元串
substring 返回位於 String 對象中指定位置的子字元串
sup 將 HTML 的<sup> 標識放置到 String 對象中的文本兩端
t
tan 返回數字的正切值
test 返回一個 Boolean 值,它指出在被查找的字元串中是否存在模式
toArray 返回一個由 VBArray 轉換而來的標准 JScript 數組
toDateString 以字元串值的形式返回一個日期
toExponential 返回一個字元串,其中包含一個以指數記數法表示的數字
toFixed 返回一個字元串,代表一個以定點表示法表示的數字
toGMTString 返回一個日期,該日期用格林威治標准時間 (GMT) 表示並已被轉換為字元串
toLocaleDateString 以字元串的形式返回與宿主環境的當前區域設置相對應的日期
toLocaleLowerCase 返回一個字元串,其中所有的字母字元都被轉換為小寫,同時考慮到宿主環境的當前區域設置
toLocaleString 返回一個日期,該日期使用當前區域設置並已被轉換為字元串
toLocaleTimeString 以字元串的形式返回與宿主環境的當前區域設置相對應的時間
toLocaleUpperCase 返回一個字元串,其中所有的字母字元都被轉換為大寫,同時適應宿主環境的當前區域設置
toLowerCase 返回一個字元串,該字元串中的字母被轉換為小寫字母
toPrecision 返回一個字元串,其中包含一個以指數記數法或定點記數法表示的,具有指定數字位數的數字
toString 返回對象的字元串表示
toTimeString 以字元串形式返回時間
toUpperCase 返回一個字元串,該字元串中的所有字母都被轉化為大寫字母
toUTCString 返回一個已被轉換為字元串的,用全球標准時間 (UTC)表示的日期
ubound 返回在 VBArray 的指定維中所使用的最大索引值
unescape 解碼用 escape 方法進行了編碼的 String 對象
unshift 將指定的元素插入數組開始位置並返回該數組
UTC 返回全球標准時間 (UTC) (或 GMT) 的 1970 年 1 月 1 日到所指定日期之間所間隔的毫秒數
valueOf 返回指定對象的原始值
4. 詳解js中Number,parseInt和parseFloat的區別
一:Number()
如果是Boolean值,true和false值將分別被轉換為1和0。
如果是數字值,只是簡單的傳入和返回。
如果是null值,返回0。
如果是undefined,返回NaN。
如果是字元串:
a. 如果字元串中只包含數字時,將其轉換為十進制數值,忽略前導0
b. 如果字元串中包含有效浮點格式,如「1.1」,將其轉換為對應的浮點數字,忽略前導0
c. 如果字元串中包含有效的十六進制格式,如「0xf」,將其轉換為相同大小的十進制數值
d. 如果字元串為空,將其轉換為0
e. 如果字元串中包含除上述格式之外的字元,則將其轉換為NaN
如果是對象,則調用對象的valueOf()方法,然後依照前面的規則轉換返回的值。如果轉換的結果是NaN,則調用對象的toString()方法,然後再依照前面的規則轉換返回的字元串值。
例:
varnum1=Number("Helloworld");//NaN
varnum2=Number("");//0
varnum3=Number("0000011");//11
二:parseInt()
處理整數的時候parseInt()更常用。parseInt()函數在轉換字元串時,會忽略字元串前面的空格,知道找到第一個非空格字元。
如果第一個字元不是數字或者負號,parseInt() 就會返回NaN,同樣的,用parseInt() 轉換空字元串也會返回NaN。
如果第一個字元是數字字元,parseInt() 會繼續解析第二個字元,直到解析完所有後續字元串或者遇到了一個非數字字元。
parseInt()方法還有基模式,可以把二進制、八進制、十六進制或其他任何進制的字元串轉換成整數。
基是由parseInt()方法的第二個參數指定的,所以要解析十六進制的值,當然,對二進制、八進制,甚至十進制(默認模式),都可以這樣調用parseInt()方法。
例:
varnum1=parseInt("AF",16);//175
varnum2=parseInt("AF");//NaN
varnum3=parseInt("10",2);//2(按照二進制解析)
varnum4=parseInt("sdasdad");//NaN
三:parseFloat()
與parseInt() 函數類似,parseFloat() 也是從第一個字元(位置0)開始解析每一個字元。也是一直解析到字元串末尾,或者解析到遇見一個無效的浮點數字字元為止。
也就是說,字元串中第一個小數點是有效的,而第二個小數點就是無效的了,它後面的字元串將被忽略。
parseFloat() 只解析十進制,因此它沒有第二個參數指定基數的用法
如果字元串中包含的是一個可解析為正數的數(沒有小數點,或者小數點後都是零),parseFloat() 會返回整數。
例:
varnum1=parseFloat("123AF");//123
varnum2=parseFloat("0xA");//0
varnum3=parseFloat("22.5");//22.5
varnum4=parseFloat("22.3.56");//22.3
varnum5=parseFloat("0908.5");//908.5
parseInt() 和parseFloat() 的區別在於:
parseFloat() 所解析的字元串中第一個小數點是有效的,而parseInt() 遇到小數點會停止解析,因為小數點並不是有效的數字字元。
parseFloat() 始終會忽略前導的零,十六進制格式的字元串始終會被轉換成0,而parseInt() 第二個參數可以設置基數,按照這個基數的進制來轉換。
5. js數組添加元素
js數組添加元素的方法有三個,分別是push()、unshift()、splice(),下面分別說一下各自的用法
1、push(),在數組的末尾添加新的元素,並返回數組新長度
語法:a.push( 「新元素1」,「新元素2」);
實例: