亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js隱式轉(zhuǎn)換的知識實例講解

 更新時間:2018年09月28日 15:05:00   投稿:laozhang  
在本篇文章中,小編給大家分享了關(guān)于js隱式轉(zhuǎn)換的相關(guān)知識點內(nèi)容,有興趣的朋友們參考學(xué)習(xí)下。

開胃菜

[] == ![]         //true ==> "" == false
123 ^ []          //123  ==> 123 ^ 0
~{}            //-1  ==> ~0
{} >= {1,2}        //true ==>因為大于等于的比較,不是相等的比較,所以[object Object] >=[object Object]
[null] == ""        //true ==> [""] == ""

值得注意的操作符:

一元操作符:通過Number()進(jìn)行轉(zhuǎn)換;其中包括*號運算符,/號運算符,都是經(jīng)Number()轉(zhuǎn)換

+undefined  //NaN

邏輯運算符:!等價于Boolean(),將操作數(shù)進(jìn)行布爾值類型轉(zhuǎn)換

位操作:~, |, &, ^;當(dāng)一邊操作數(shù)為NaN時,可等價于操作數(shù)為0;

//由以下變化可以證得:
NaN ^ NaN ^ NaN = 0

加號運算符,比較復(fù)雜

優(yōu)先級最高的是字符串,任何操作數(shù)與字符串相加都將其String(x)成字符串,再進(jìn)行字符串拼接

console.log("a" + 1);      //"a1"
console.log("a" + "1");     //"a1"
console.log("a" + false);    //"afalse"
console.log("a" + undefined);  //"aundefined"
console.log("a" + NaN);     //"aNaN"
console.log("a" + null);    //"anull"
console.log("a" + {});     //"a[object Object]"

其次number,而object在正常情況下輸出的就是string類型

//console.log(1 + "1");   //"11"
console.log(1 + 1);     //2
console.log(1 + true);   //2 
console.log(1 + undefined); //NaN
console.log(1 + NaN);    //NaN
console.log(1 + null);   //1
console.log(1 + {});    //"1[object,Object]"

當(dāng)一方為Boolean,或者兩方都是Boolean時,都將其進(jìn)行Number處理,同理undefined與null也一樣

console.log(true + true);   //2 
console.log(true + undefined); //NaN
console.log(true + NaN);    //NaN
console.log(true + null);   //1
console.log((true + [NaN]));  //"trueNaN"

減號,則將兩邊都進(jìn)行Number()處理

比較運算:==, >, <, >=, >=, != 遵循規(guī)則(摘自高程3):

1.null和undefined是相等的

2.要比較相等之前,不能將null和undfined轉(zhuǎn)換成其他任何值

3.如有一個操作數(shù)為NaN,相等操作符返回fasle,不相等操作符返回true, NaN不等于NaN

4.兩個對象之間的比較,兩者指向同一個對象(地址相同),相等操作符返回true,否則返回false

值得注意的是:對象間的>=與==(!=)比較方式是不同的,前者是toString()返回值的比較,后者是引用地址的比較

當(dāng)都是兩邊都是字符串時,按字符編碼大小進(jìn)行比較

當(dāng)一方操作數(shù)為boolean,string,object,轉(zhuǎn)成number類型的數(shù)值再進(jìn)行比較;

console.log("NaN" == NaN);     //false
console.log(undefined == null);  //true
console.log({} >= {1:2});     //true
console.log({1:2} != {});     //true
console.log({} == {1:2});     //false
console.log([1] == [1]);      //false
console.log(null == 0);      //false

相關(guān)文章

  • 純前端導(dǎo)出txt文本文件具體流程

    純前端導(dǎo)出txt文本文件具體流程

    TXT作為純文本格式,只支持無格式的文本內(nèi)容,不包括任何樣式信息,下面這篇文章主要給大家介紹了關(guān)于純前端導(dǎo)出txt文本文件的相關(guān)資料,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-08-08
  • JavaScript與C# Windows應(yīng)用程序交互方法

    JavaScript與C# Windows應(yīng)用程序交互方法

    JavaScript與C# Windows應(yīng)用程序交互方法...
    2007-06-06
  • 深入探討javascript函數(shù)式編程

    深入探討javascript函數(shù)式編程

    在函數(shù)式編程中,函數(shù)被看做是“一等公民”。JavaScript可以通過巧妙地函數(shù)組合來構(gòu)建抽象,通過內(nèi)嵌函數(shù)的方式,在軟件開發(fā)的過程中,我們可以把更多的精力放在“函數(shù)要做什么”上,而不用太關(guān)心“函數(shù)如何做”的問題。
    2015-10-10
  • JavaScript forEach中return失效問題解決方案

    JavaScript forEach中return失效問題解決方案

    這篇文章主要介紹了JavaScript forEach中return失效問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • HTML Table 空白單元格補(bǔ)全的簡單實現(xiàn)

    HTML Table 空白單元格補(bǔ)全的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄狧TML Table 空白單元格補(bǔ)全的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 在網(wǎng)頁中使用document.write時遭遇的奇怪問題

    在網(wǎng)頁中使用document.write時遭遇的奇怪問題

    很多時候我們都會在網(wǎng)頁上的JavaScript中使用document.write來寫入一些東西,有的時候可能因為我們無法改變某一部分HTML而不得不使用這樣的辦法,也有的時候是因為在進(jìn)行跨應(yīng)用的腳本調(diào)用。
    2010-08-08
  • js+html制作簡單驗證碼

    js+html制作簡單驗證碼

    這篇文章主要為大家詳細(xì)介紹了js結(jié)合html制作簡單驗證碼的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • js文本框輸入內(nèi)容智能提示效果

    js文本框輸入內(nèi)容智能提示效果

    這篇文章主要介紹了js文本框輸入內(nèi)容智能提示效果,非常簡單實用,需要的朋友可以參考下
    2015-12-12
  • JavaScript網(wǎng)絡(luò)請求工具庫axios使用實例探索

    JavaScript網(wǎng)絡(luò)請求工具庫axios使用實例探索

    這篇文章主要為大家介紹了JavaScript網(wǎng)絡(luò)請求工具庫axios使用實例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 微信小程序開發(fā)中Promise的使用(aysnc,await)及場景分析

    微信小程序開發(fā)中Promise的使用(aysnc,await)及場景分析

    在微信小程序開發(fā)中,錯誤使用Promise可能導(dǎo)致無法正確獲取數(shù)據(jù),本文分析了一個常見錯誤場景,即在異步函數(shù)中未使用await或.then()處理Promise,導(dǎo)致無法獲取異步操作的返回結(jié)果,文章提供了使用await和鏈?zhǔn)秸{(diào)用.then()的解決方法,幫助開發(fā)者避免類似錯誤,確保數(shù)據(jù)正確返回
    2024-10-10

最新評論