刷题笔记(1)

26 阅读2分钟

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+什么都不是,仅仅表达连接