1.JavaScript 内置对象是指 JavaScript 语言本身提供的对象。 Window不是JavaScript的内置对象,是浏览器提供的BOM的顶级对象。Error是JavaScript内置对象
2.JavaScript中的类型转换和比较运算的概念。空数组[]是一个真值。
- a=([])==true;
- b=[]==false.
- 对象比较的时候先化为字符串"[object Object]",无法与false比较。
3.console.log(this.foo)
- 这行代码在IIFE(立即执行函数)内部
- 在普通函数中,this指向全局对象(window或global)
- 全局对象没有foo属性,所以输出undefined
4.iframe与Include、ajax有本质区别:
- Include是服务器端的包含机制,在服务器端将多个文件合并后再发送给客户端
- ajax是异步请求数据并动态更新页面内容
- iframe则是在客户端浏览器中创建一个独立的文档流,可以加载完整的外部页面,具有独立的window对象和完整的DOM结构
5.super关键字&原型对象
const proto = {
foo: 'hello'
};
const obj = {
foo: 'world',
find() {
return super.foo;
}
};
Object.setPrototypeOf(obj, proto);//把obj的原型修改为proto
obj.find() // "hello"
6.JavaScript的原始值有七类:
- String (字符串)
- Number (数字)
- Boolean (布尔值)
- null
- undefined
- Symbol (ES6新增)
- BigInt (ES2020新增)
数组是引用类型
7.JS装箱:只要是基本类型转对象都叫装箱,不管是手动还是自动. 有私有的Class属性,可以根据这个属性判断类型。Object.prototype.toString.call() 发布于 07-26 20:28湖南来自Android客户端
8.for...of 循环只能遍历 可迭代对象(Iterables),
-
内置可迭代对象:
数组(Array)、字符串(String)、Map、Set、arguments 对象、DOM 集合(如 NodeList)等
9.JSON对象遍历的三种方法
- for……in
for(let key in object){
console.log(key,object[key]);
}
- Object.keys() 只遍历对象自己定义的属性,不遍历原型链
Object.keys(object).forEach(key){
console.log(key,object[key]);
}
- Object.entries()(同时拿到 key + value)
for (const [key, value] of Object.entries(obj)) {
console.log(key, value);
}
10.自增自减是++,+b+什么都不是,仅仅表达连接