扫码关注官方订阅号
当需要判断一个参数是否在对象中时,为什么使用
arg in cache
会比使用
cache[arg] != undefined
更安全呢,我看网上有人说因为undefined是一个有效的返回值,但还是不太理解,有人能解答一二吗?
光阴似箭催人老,日月如移越少年。
var oCache = {x : null},vArg = 'x'; console.log(vArg in oCache ? '有x属性' : '没x属性'); // 有x属性 console.log(oCache[vArg] != undefined ? '有x属性' : '没x属性'); // 没x属性
in操作符可以用来判断对象是否为数组/对象的元素/属性:当“对象”为数组时,“变量”指的是数组的“索引”;当“对象”为对象是,“变量”指的是对象的“属性”。
b={a:undefined}; b.a === undefined;
其实 undefined和null都支持in操作,使用in不会出现空指针异常
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
in操作符可以用来判断对象是否为数组/对象的元素/属性:
当“对象”为数组时,“变量”指的是数组的“索引”;
当“对象”为对象是,“变量”指的是对象的“属性”。
b={a:undefined}; b.a === undefined;
其实 undefined和null都支持in操作,使用in不会出现空指针异常