- 数据类型有哪些
- 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
- 引用数据类型:对象(Object)、数组(Array)、函数(Function)。
- 注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
-
什么是闭包,为什么要用闭包
- 闭包就是能够读取其他函数内部变量的函数
- 由于在js中只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数” 所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁
- 好处1: 读取函数内部的变量
- 好处2: 让这些变量的值始终保持子内存中,重用变量又不造成全局污染
-
this
- 为什么要用this:
- this提供了一种更优雅的方式来隐式“传递”一个对象引用,因此可以将API设计得更加简洁且易于复用。随着代码使用模式越来越复杂,显式传递上下文会让代码变得越来越混乱,使用this则不会这样,因为使用this的话函数就可以自动引用合适的上下文对象!
- this到底是什么:
- 当一个函数被调用时,会创建一个活动记录(有时候也称执行上下文)。这个记录会包含函数在哪里被调用(调用栈)、函数的调用方式、传入的参数等信息。this就是这个记录的一个属性,会在函数执行的过程中用到。
- this有哪些绑定规则:
- 1 默认绑定
- 2 隐式绑定
- 3 显式绑定
- 4 new绑定
- 优先级: 4 > 3 > 2 > 1
- 绑定例外:
- 被忽略的this(null、undefined)
- 间接引用(赋值)
- 箭头函数:不使用1-4的绑定规则,根据此法作用域决定this,即箭头函数会继承外层函数的this绑定(无论this绑定到的是什么)
- 为什么要用this:
-
原型 | import | require
-
new一个对象的时候具体发生了什么
-
同步异步
-
js对数组的增删改查 | localStorage | cookie
-
get 与post 的区别
-
原生js怎样阻止冒泡事件
-
ES5 ES6去重
-
var a = 3;与a = 3的区别 -
var a = Object(); a.value = 1; b=a; b.value=2; console.log(a.value); // 2 -
原生js怎样阻止冒泡事件
属性或事件名 说明 兼容性 cancelable属性 cancelable 事件返回一个布尔值。如果用 preventDefault() 方法可以取消与事件关联的默认动作,则为 true,否则为 fasle IE不支持 returnValue属性 如果设置了该属性,它的值比事件句柄的返回值优先级高。把这个属性设置为 fasle,可以取消发生事件的源元素的默认动作。 只支持IE bubbles属性 bubbles 事件属性返回一个布尔值,如果事件是起泡类型,则返回 true,否则返回 fasle。 IE不支持 stopPropagation方法 不再派发事件。终止事件在传播过程中的捕获、目标处理或起泡阶段的进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。 - preventDefault方法 取消事件的默认动作。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。 - -
post get请求的区别
项目 get post 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交) 缓存 能被缓存 不能缓存 历史 参数会保留在浏览器历史记录中 参数不会保留在浏览器历史记录中 对数据长度的限制 有限制。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 无限制 对数据类型的限制 只允许ASCII字符 没有限制,也允许二进制数据 安全性 安全性很低,发送的数据是url的一部分 安全性较高,因为参数不会被保存在浏览器历史或 web 服务器日志中 数据可见性 数据在url中对所有人可见 数据不会显示在url中 -
js对数组的增删改操作
- 创建:
var arr = new Array() - 增加:
arr[0] = '0'; arr[1] = '1'; - 修改:
arr[0] = 'test'; - 删除:
arrayObject.splice(index,howmany,item1,.....,itemX) - 常用数组操作
- 创建: