You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/**
_buffer.slice();
// is equivalent to
_buffer.slice(0);
// also equivalent to
_buffer.slice(0, _buffer.length);
**/
var args = Array.prototype.slice.call(arguments)//方法一
var args = [].slice.call(arguments, 0)//方法二
//方法三:
var args = [];
for (var i = 1; i < arguments.length; i++) {
args.push(arguments[i]);
}
JS严格模式('use strict')
首先是严格模式的用法
// 为整个script标签开启严格模式, 需要在所有语句之前放一个特定语句 "use strict";
"use strict";
var v = "Hi! I'm a strict mode script!";
//要给某个函数开启严格模式,得把 "use strict";声明一字不漏地放在函数体所有语句之前
function strict(){
// 函数级别严格模式语法
'use strict';
function nested() { return "And so am I!"; }
return "Hi! I'm a strict mode function! " + nested();
}
function notStrict() { return "I'm not strict."; }
==和===的区别
===叫做严格运算符 ==叫做相等运算符
严格运算符比较时不仅仅比较数值还要比较数据类型是否一样
相等运算符在比较相同类型的数据时,与严格相等运算符完全一样。 在比较不同类型的数据时,相等运算符会先将数据进行类型转换,然后再用严格相等运算符比较。
ps:判断
NaN
可以用Object.is()
undefined和null的区别
首先,
undefined
和null
在if
语句中,都会被自动转为false
,即null==undefined
结果为true
JS的基本数据类型
JS中typeof和instanceof用法区别
ps:其他判断方法如下
①
Array.isArray
②
constructor
③
Object.prototype.toString.call()
JS用setTimeout递归实现setInterval
ps:为什么要用setTimeout实现setInterval?
JS中的arguments和arguments.callee
JS严格模式('use strict')
首先是严格模式的用法
严格模式主要涉及如下几个方面
arguments
和callee
)详情 请移步阮一峰的 Javascript 严格模式详解
JS闭包
JS数组去重的简洁方法
JS中的apply、call、bind
简单总结:
详情移步深入浅出妙用 Javascript 中 apply、call、bind
JS的 for in 和 for of
简单说
for in
是遍历key
而for of
是遍历value
ps:如何将对象的键名输出数组
当然
for in
配合hasOwnProperty
可以过滤来着原型链上继承得到的属性异步解决方案Promise
举个🌰
ps:
promise
详情请移步大白话讲解PromiseThe text was updated successfully, but these errors were encountered: