首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ECMAScript6基础学习教程(四)函数

如果函数代码块只有一条语句,那么,可以省略函数大括号{}和关键字return。...箭头函数最大特点,就是函数没有this对象,因此,箭头函数有如下特点: 箭头函数不能用作构造函数 箭头函数不能使用call(), apply(), bind()方法 不可以使用arguments对象 箭头函数中如果调用...hello world" log("Hi"); // "Hi world" // null不会被判断为空值 log(null, "javascript"); //"null javascript" 在ECMAScript6...函数的rest参数 函数的rest参数格式为function(...args)或,function(x, y, ...args),args为数组,保存的是函数剩余变量(注意:rest参数必须是函数最后一个参数...function test(...args) { return [1, 2, 3, ...args]; } test(4, 5, 6, 7); // [1, 2, 3, 4, 5, 6, 7] 下一节:ECMAScript6

26420

【译】《Understanding ECMAScript6》- 第二章-函数

函数的[[Construct]]被执行时,new.target将指向new操作符调用的函数(也就是本例中的Person函数),也就是新创建实例的构造函数。...译者注:非严格模式下的块级域函数本质上已经不是块级域函数了,只是在块级代码内声明的普通函数。 箭头函数 箭头函数是ES6非常有趣并且非常重要的一个模块。顾名思义,箭头函数使用一个箭头=>声明。...箭头函数与普通函数一样具有name属性。 语法 箭头函数的语法针对不同需求有很多变种。所有的变种遵循以下规范:参数=>函数体。参数和函数体可以根据需求变换不同的形式。...箭头函数被设计的初衷是在某些应用场景下取代匿名函数,它们不能作为构造函数使用,不具备很长的生命周期。箭头函数的最佳应用场景是作为常规函数的回调函数使用。...箭头函数是ES6的一项重大改进。箭头函数的提出是为了取代匿名函数的应用场景,它有更加简洁的语法,this的语义绑定,并且没有arguments对象。箭头函数的this不能被修改,不能作为构造函数使用。

1.3K70
您找到你想要的搜索结果了吗?
是的
没有找到

ECMAScript6 基础知识点(上)

, b, c) // 1 2 3let {a, b, c} = {"a": 4, "c": 5, "b": 6}console.log(a, b, c) // 4 6 5关于更多解构赋值的用法可参考 ECMAScript6...isNaN 方法从全局函数移植到 Number 对象上,window.isNaN 函数会把非数值的参数转化成数值再进行判断,而Number. isNaN 只对数值类型有效,非数值类型的参数一律返回 false...,所以我们在使用之前必须指明它是 Number 对象下的函数,否则会被默认为 window 下的函数字符串扩展的新函数repeat() 函数:将目标字符串重复 N 次,返回一个新的字符串,不影响目标字符串...Array.of() 函数,将一组值转换成数组Array.of(1, 2, 3, 4, 5) // [ 1, 2, 3, 4, 5 ]Array.from() 函数,将类似数组的对象或可遍历的对象转换成真正的数组...,返回一个遍历器for(let value of ['a', 'b'].values()){ console.log(value);}//a//b对象扩展的新函数Object.is() 函数,判断两个值是否全等

36931

【译】《Understanding ECMAScript6》- 第五章-Class

如果派生类内显式定义了构造函数,那么构造函数内部必须使用super()调用父类,否则会产生错误。...如果构造函数没有被显式定义,class会默认隐式定义一个构造函数,并且构造函数内部使用super()调用父类,同时传入生成class实例时的所有参数。...所有的参数按顺序被传入父类的构造函数。笔者建议始终显式定义构造函数,以保证参数的正确性。...根据第二章的讲诉,使用new调用构造函数时,new.target的取值是构造函数函数名。 上述代码中,执行new Rectangle(3, 4)时,new.target等于Rectangle。...另外,class只能作为构造函数使用,也就是只能被new调用,而不能作为常规函数执行。 Class继承机制允许从class、函数,甚至表达式生成派生类。

1K60

【译】《Understanding ECMAScript6》- 第七章-Promise

随后,事件对应的响应函数被加入执行序列的末尾。这是JavaScript语言实现异步编程最基本的方式:事件响应函数只会在对应的事件触发后执行,并且响应函数运行在适当的执行上下文内。...回调函数 Node.js使用回调函数实现异步编程。回调函数模式与事件驱动相同的地方是,指定代码在对应的条件触发后才会被执行。不同的是,延迟执行的回调函数作为一个参数被传入指定的函数。...; 上述代码使用Node.js经典的error-first回调函数。readFile()函数从硬盘中检索第一个参数指定的文件,检索完毕后执行第三个参数指定的回调函数。...回调函数在应对复杂需求时显得捉襟见肘。比如同时运行两个异步操作,两者都执行完毕后再调用回调函数;或者两个异步操作中只需要第一个执行完毕后启动回调函数。...与事件驱动模式的响应函数和回调函数模式的回调函数不同,Promise机制下的异步函数返回一个Promise,如下: // readFile promises to complete at some point

2K60

【javascript】您好, 您要的ECMAScript6速记套餐到了 (一)

: Array构造函数因为接收参数的不同行为表现差异非常巨大 1....1,2,3] 【注意】 函数的reset参数可以看做是扩展运算符的“逆运算” name属性 函数可取name属性 function fn() {} fn.name // "fn" 箭头函数 ES6引入了箭头函数...使我们能通过一种更为简洁的方式书写函数 2....this却恰好相反, this的绑定是动态的, 是运行时决定的, 这有时候就导致了让人苦恼的this绑定丢失问题 用一段代码展示一下普通函数(相比于箭头函数)所存在this绑定丢失的问题 function...因为setTimeout里的函数是异步执行的,当调用foo.call({ id: 42 })的时候setTimeout里的函数并没有立即得到执行, 所以setTimeout()调用的时候,它运行在与所在函数完全分离的执行环境上

56370
领券