使用 js 的一些注意事项以及es6的补救

1 篇文章 0 订阅
1. 变量提升

函数声明和变量声明会被解析器提升到方法体的顶部

// 变量声明-提升
x = 5
console.log(x)
var  x
// 等同于
var x
x = 5
console.log(x)
// 函数声明-提升
fn() // 先调用-后声明
function fn () {}
// 等同于
function fn () {}
fn() // 先声明-后调用
// 补充-函数表达式变量不会提升
fn()
var fn = function () {}
// 报错 fn is not a function
// 引入es6 ( let 声明变量)
let x
x = 5
console.log(x)
//  let 声明变量-不提升(就是为了防止变量提升)
console.log(n) let n = 9
// 报错
2. function与class的对比
// 先来絮叨絮叨function
// 2.1 function 与 Function
// function 是一个关键字可以声明一个函数对象:
function test () {}
// Function是一个构造器,function是Function实例化的一个对象,包含[[call]][[code]]等等属性,
// 它的每个参数都是字符串形式
function callAnotherFunc(fnFunction, vArgument) {
	fnFunction(vArgument);
}
var doAdd = new Function("iNum", "alert(iNum + 10)");
callAnotherFunc(doAdd, 10); // 输出 "20"
// callAnotherFunc instanceof Function
// 2.2 function 与 class
// class事实上是一种特殊的function,es6引入的新语法,class语法也有两种形式:一种是声明,一种是表达式
class A {} // 声明
let A = class  {} // 表达式
3. setTimeout()和setInterval()

3.1 setTimeout(): 在指定的毫秒数后调用函数或计算表达式。(执行一次)

let time1 = setTimeout(function() {console.log('1111')}, 3000)
// 通过clearTimeout(time1)关闭定时器

3.2 setInterval() : 按照指定的周期(以毫秒计)来调用函数或计算表达式。(会不停的调用函数)

let time2 = setInterval(function() {console.log('2222')}, 3000)
// 通过window.clearInterval(time2) 关闭定时器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值