欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS字符串false轉(zhuǎn)boolean的方法(推薦)

 更新時間:2017年03月08日 09:49:52   投稿:jingxian  
下面小編就為大家?guī)硪黄狫S字符串false轉(zhuǎn)boolean的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

大家都知道在JS的世界里, 0、-0、null、""、false、undefined 或 NaN,這些都可以自動轉(zhuǎn)化為布爾的 false,那么字符串的"false"是不是false呢,答案是否定的,if("false") 來判斷的話,是等于true的

所以今天遇到個SB問題,就是后臺velocity往前臺傳參,大家一般都是這么寫。

0.背景

var hasAuth = $!auth ; // 這個auth就是利用velocity傳到前臺的

這么寫就有一個風(fēng)險,那就是,如果后臺忘記往前臺傳這個參數(shù),就造成了如下的

var hasAuth = ; // 語法錯誤,因為;之前是個空,這是由于velocity木有傳參,前臺是自然而然的變成了空白,空白!!

1、解決1

那么如何解決這種因為前后端不分離,velocity忘記傳到前臺而產(chǎn)生的這個問題呢,當(dāng)當(dāng)當(dāng)當(dāng),我想到了一個辦法就是利用單引號將變量括住,這樣后臺不傳參,我也不怕不怕啦,代碼變成了這樣

var hasAuth = '$!auth' ; // 這樣就好啦,即使后臺不傳參到前臺,我特么也不怕報語法錯誤了。

2、解決2

然而事情并沒有到此結(jié)束,因為我發(fā)現(xiàn)如果后臺沒有忘記往前臺傳參,后臺獲得的權(quán)限絕逼不是true就是false,那么問題來了,代碼經(jīng)過渲染變成了下面這個樣紙。

var hasAuth = 'true';

或者

var hasAuth = 'false';

那么下面再做判斷的時候呢

1.

var hasAuth = 'true';
if(hasAuth){ //此時的hasAuth是true
 
}

2.
var hasAuth = 'false';
if(hasAuth){ //此時的hasAuth還是true
 
}

這該如何是好?。?!

3、解決3

我特么靈機一動,那么我用Boolean的構(gòu)造方法去做處理豈不是就ok了?我特么太聰明了,于是這么寫

var hasAuth = Boolean('$!auth');

還是和剛才一樣

1.當(dāng)后臺傳到前臺的auth是true時,Boolean('$!auth') === Boolean('true') === true;

var hasAuth = 'true';
if(hasAuth){ //此時的hasAuth是true
 
}

2.當(dāng)后臺傳到前臺的auth是false時,Boolean('$!auth') === Boolean('false') === true;
var hasAuth = 'false';
if(hasAuth){ //此時的hasAuth還是true
 
}

為咩啊

4、解決4

我查閱了一下w3c,發(fā)現(xiàn)解釋如下

var myBoolean=new Boolean();

//下面的所有的代碼行均會創(chuàng)建初始值為 false 的 Boolean 對象。
var myBoolean=new Boolean();
var myBoolean=new Boolean(0);
var myBoolean=new Boolean(null);
var myBoolean=new Boolean("");
var myBoolean=new Boolean(false);//不帶單引號的是false
var myBoolean=new Boolean(NaN);
//下面的所有的代碼行均會創(chuàng)初始值為 true 的 Boolean 對象:
var myBoolean=new Boolean(1);
var myBoolean=new Boolean(true);
var myBoolean=new Boolean("true");
var myBoolean=new Boolean("false");//帶單引號的字符串false最終等于true
var myBoolean=new Boolean("Bill Gates");

靠了,這條路也想不通,可愛的一休哥,趕緊想想注意??!

5、解決5 最終解決方案

靈機一動,哇塞,那么我用字符串去對比字符串總可以了吧?

于是最終的檢測方法如下

var hasAuth = '$!auth' === 'true' ;

1.$!auth 為 true 時

var hasAuth = 'true' === 'true' ;
console.log(hasAuth);//true

2.$!auth 為 false 時

var hasAuth = 'false' === 'true' ;
console.log(hasAuth);//false

當(dāng)然也可以如下玩

String.prototype.bool = function() {
    return (/^true$/i).test(this);
};
console.log("true".bool());

以上這篇JS字符串false轉(zhuǎn)boolean的方法(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • js實現(xiàn)菜單跳轉(zhuǎn)效果

    js實現(xiàn)菜單跳轉(zhuǎn)效果

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)菜單跳轉(zhuǎn)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • JavaScript多圖片上傳案例

    JavaScript多圖片上傳案例

    JS上傳多圖片例子,為了更人性化,不要固定初始化時的個數(shù),可以通過由用戶決定上傳圖片的個數(shù),即是動態(tài)地創(chuàng)建上傳圖片文框和按鈕的個數(shù),感興趣的小伙伴們可以參考一下
    2015-09-09
  • ie和firefox不兼容的解決方法集合

    ie和firefox不兼容的解決方法集合

    網(wǎng)頁設(shè)計很多情況下,需要注意ie跟firefox的不同區(qū)別,腳本之家提供了不好這樣的文章,大家可以好好看下。
    2009-04-04
  • JavaScript實現(xiàn)自動切換圖片代碼

    JavaScript實現(xiàn)自動切換圖片代碼

    本文給大家分享一段js代碼實現(xiàn)自動切換圖片的代碼,代碼非常簡單,應(yīng)用領(lǐng)域非常廣泛,感興趣的朋友一起看看吧
    2016-10-10
  • 解決Layui選擇全部,換頁checkbox復(fù)選框重新勾選的問題方法

    解決Layui選擇全部,換頁checkbox復(fù)選框重新勾選的問題方法

    今天小編就為大家分享一篇解決Layui選擇全部,換頁checkbox復(fù)選框重新勾選的問題方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • JavaScript Generator函數(shù)使用分析

    JavaScript Generator函數(shù)使用分析

    生成器Generator是JavaScript ES6引入的特性,它讓我們可以分段執(zhí)行一個函數(shù)。但是在談?wù)撋善鳎℅enerator)之前,我們要先了解迭代器Iterator
    2022-10-10
  • uniapp使用vue-cli新建項目并打包的步驟

    uniapp使用vue-cli新建項目并打包的步驟

    這篇文章主要介紹了uniapp使用vue-cli新建項目并打包,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • 微信小程序view與scroll-view組件的使用介紹

    微信小程序view與scroll-view組件的使用介紹

    小程序中的組件也是由宿主環(huán)境提供的,開發(fā)者可以使用組件快速搭建出頁面結(jié)構(gòu),這篇文章主要介紹了微信小程序view與scroll-view組件的使用
    2022-10-10
  • javascript 特殊字符串

    javascript 特殊字符串

    js字符串中出現(xiàn)任何< >標(biāo)簽都可以,就是不能出現(xiàn)</script>標(biāo)簽。
    2009-02-02
  • js中位運算的運用實例分析

    js中位運算的運用實例分析

    這篇文章主要介紹了js中位運算的運用實例分析,需要的朋友可以參考下
    2018-12-12

最新評論