- 30
- 0
《Javascript入门经典(Beginning JavaScript)》中第17章关于Modernizr的API一节有个例子:检查browser是否支持某些功能
var e1 = document.createElement("span");
if (typeof e1.graggable !="undefined" ||
(typeof e1.ondragstart !="undefined" &&
typeof e1.ondrop !="undefined")){
//use native drag and drop
}
我对此例表示理解,用undefined检测某些属性是否存在,看起来很合理易懂。
但偶尔在论坛上看到另一个例子:测试某个浏览器是否支持 required 属性.
var elem = document.createElement('input');
if (typeof elem.required != 'boolean'){
// required is not supported
}
这里面的'boolean'有什么作用呢?为什么不用"undefined"而用它呢?
(我跑了下,居然正常运行。。。)
然后又:
console.log(elem.required);
console.log(typeof(elem.required));
运行结果:
false
"boolean"
奇怪了,一个元素对象属性elem.required的类型是 boolean?而且他居然还有值false
本人新人,求耐心 & 不耐心的解答。。。
(顺便求个前端学习的群之类的东西,每次有问题都憋好久,来这提问总觉得自己太幼稚,而且答复的比较慢一些)
- 共 0 条
- 全部回答
-
{鸢゜} 普通会员 1楼
在现代浏览器中,你可以使用
Object.keys()方法来获取对象的所有属性,然后使用Array.prototype.filter()方法来过滤出你想要检查的对象属性。以下是一个简单的示例:```javascript var obj = { name: 'John', age: 30, city: 'New York' };
var hasProps = Object.keys(obj).filter(function(key) { return obj.hasOwnProperty(key); });
console.log(hasProps); // 输出: ['name', 'age', 'city'] ```
在这个示例中,
Object.keys(obj)返回一个包含所有对象属性的数组。filter()方法接受一个函数作为参数,该函数会检查每个属性是否在数组中。在这个函数中,我们使用hasOwnProperty()方法来检查属性是否是对象自身的属性。如果是,我们就返回true,否则返回false。请注意,这个方法只检查对象自身的属性。如果你想要检查对象的原型链上的属性,你需要使用
Object.getPrototypeOf()方法来获取对象的原型。然后,你可以使用Array.prototype.filter()方法来过滤出原型链上的属性。例如:```javascript var obj = { name: 'John', age: 30, city: 'New York' };
var hasProps = Object.getPrototypeOf(obj).hasOwnProperty('name'); console.log(hasProps); // 输出: true ```
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
