链接:https://www.nowcoder.com/questionTerminal/8242fbf4b3a241219989b3e1d0ee82db
来源:牛客网
下列关于Vue和React的描述错误的是(
Vue进行数据拦截/代理,对数据更敏感,数据驱动视图自更新,而React需要手动驱动数据更新视图
Vue和React的this都指向当前组件实例
Vue和React都能使用jsx进行编程
Vue和React都是数据驱动视图的更新
解析
React中组件的this并不是当前实例,需要通过bind或箭头函数来修改指向。
React中组件的this并不是当前实例,需要通过bind或箭头函数来修改指向。
链接:https://www.nowcoder.com/questionTerminal/60b319d36e424a5c8027c49fc1e6a1e1
来源:牛客网
关于Vue组件的生命周期说法错误的是
mounted钩子函数中,可以直接获取DOM元素
beforeMount钩子函数中,不可以直接获取DOM元素
beforeDestroy钩子函数中,不可以直接获取DOM元素
destroyed钩子函数中,不可以直接获取DOM元素
解析
Vue的生命周期的钩子函数中mounted和beforeDestroy中都可以获取到DOM元素
链接:https://www.nowcoder.com/questionTerminal/8242fbf4b3a241219989b3e1d0ee82db
来源:牛客网
以下关于JavaScript的描述中错误的是
在原型上扩展的可枚举方法,会被for in循环出来
使用object.defineProperty可向对象添加或者修改属性
每个对象都有prototype属性,返回对象类型原型的引用
通过hasOwnProperty可判断一个对象以及其原型链上是否具有指定名称的属性
原型链是JS实现继承的一种模型
For循环是按顺序的,for in 循环是不一定按顺序的
链接:https://www.nowcoder.com/questionTerminal/cd2be232e64340adbacdca85410a2517
来源:牛客网
B、C、D 都是错误的。
B:使用object.defineProperty可向对象添加或者修改属性
这里是小写的object而非Object,所以错误。
C: 每个对象都有prototype属性,返回对象类型原型的引用
var obj = Object.create(null)
console.log(obj)
如果使用 chrome 浏览器控制台输入上面代码,可以看到打印了一个空对象,展开看到No Properties,而随便自己用字面量声明一个对象,都能看到proto属性。
所以,不是每个对象都有prototype属性。后面这句,严格来说是不是每个对象都会返回Object.prototype?,但实际应该是这个对象的原型的引用,加个“类型”是什么意思,所以这个选项考点到底是第一句话还是第二句话?
D: 通过hasOwnProperty可判断一个对象以及其原型链上是否具有指定名称的属性
这个很明显,从该方法名称就能看出,所以是无法判断原型链上是否有的。在《你不知道的 JavaScript》(上卷) p119 也提到了这个:
相比之下, hasOwnProperty(…) 只会检查属性是否在myObject 对象中,不会检查[[Prototype]] 链。
E 和 F
都不敢相信网站的答案了。。。这两个到底是对的还是错的,求解答。
链接:https://www.nowcoder.com/questionTerminal/4831d4d38f3e40299c3c4bcb2fafb2bd
来源:牛客网
下面哪些方式在同一个窗口下能够检测一个js对象是数组类型?
Array.isArray()
instanceof
typeof
Object.prototype.toString.call()
链接:https://www.nowcoder.com/questionTerminal/4831d4d38f3e40299c3c4bcb2fafb2bd
来源:牛客网
正确答案:A、B、D
A:Array 为 js 的原生对象,它有一个静态方法:Array.isArray(),能判断参数是否为数组
B:instanceof 运算符返回一个布尔值&#x