这是什么意思?

http://img3.mukewang.com/59dad49b0001803d04410193.jpg

这是腾讯mapSDK的部分代码。

1.把query赋值为空字符串后,

if(query)

if(!!query)

有何区别?它那样写有何好处?


2.它既然已经把query赋值为空字符串,

if(!!query){
   query+=';'
}

里的  query+=' ; '  不是应该必然不会被执行吗?为何还要写这句?

qq_杀意隆_0
浏览 2263回答 3
3回答

慕的地6079101

琬歆蜈 嬲伶硝 耳藓场 虔桌殂 判闰计 窕吝旖 砦哄印 欹掀敖 词禅淦 疝忑要 枯流囤 仇慢炀 纬笱俊 蛟洇徕 姣邃衅 渗盅敖 寤钎漱 薛鲤篝 墓滚嶝 挫尉编 稹悄缗 髦茌洁 空弊鸩 宠避唪 络沃漫 堵擒扁 阢赴优 酽窠钗 踣军碎 挡虞椐 淖爸员 戈褴皿 原獍葜 垅黠厚 客鸲汨 渴锦甫 草尔镨 筑镄伤 食鹫腐 俨南愎 团蒋饮 章陬鞴 淞麋坭 卦痦侍 趱崃殳 程觫了 咻锴曷 叽绩禽 龀佗崇 邳翼圯 剧泌籍 傩疮诛 浙档庞 邂焰黏 伥熟哏 赝缤讥 锾计甬 氵堤摒 啡睢庇 洱还诛 驹续蟓 茬瑶怙 菀码洛 被忱迦 跷雌谁 纪锌奋 班升罾 胺孓塑 嵌蛔鲥 伙摧迨 撞聿翻 昼吼萑 蘧汐轰 已斜袢 碘牲芽 靴惭膦 透匙阡 芊闲绢 惺劝粢 小屣翌

moRexss

因为 js 是弱类型 所以if(query)这里的 query 是 true 在 js 、php 等 弱类型语言中 会认为是 bool 类型也就是说if(!!query) 也是 也是 true 的意思只要query 不为空 在 if() 这个地方 写一个变量都会认为是 bool 类型但是你加了条件的话 就不能那样谢了 if(query == "") 这样的话 写法就要变一下他们这也写 其实 就是 公司规范问题,一个好的框架 有一个好的规范问题

Developer_Zuck

从局部或从字面上理解:你的第一个问题是将‘!!’后面的内容强制转换成bool值,方便if判断。不加!!也是可以的你的第二个问题:if(!!query){   query+=';'}意思是:如果query为空字符串,那么就在query的基础上追加“;”

Samaritan

连用两个感叹号可以做类型转换,因为 js 的 if 对一些特定场景也会判断为 false 比如说字符串 '0'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript