初步学习:

1 函数参数允许尾逗号
function clownsEverywhere(
param1,
param2, //param2后面有逗号
) { } 2 函数参数可以赋初值
利用解构赋值默认值结合使用
函数的 length 属性 失真 ,是指没有赋初值的函数参数个数 3 name 属性
函数的name属性返回该函数名 箭头函数,我理解=> 后面就是返回值,如果有多个参数,就用()括起来;
如:var add=(val1,val2)=>val1+val2;
()函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。
this对象的指向是可变的,但是在箭头函数中,它是固定的。 function foo() {
setTimeout(() => {
console.log('id:', this.id);
}, );
} var id = ; foo.call({ id: });
// id: 42
上面代码中,setTimeout的参数是一个箭头函数,这个箭头函数的定义生效是在foo函数生成时,而它的真正执行要等到 毫秒后。
如果是普通函数,执行时this应该指向全局对象window,这时应该输出21。但是,箭头函数导致this总是指向函数定义生效时所在的对象
(本例是{id: }),所以输出的是42。 rest参数,形如:...params
例子:function doadd(...params){
console.info(params.length);
console.info(params[]);
console.info(params[])
}
doadd(,33.34,,,,,,) 33.34 注意,rest 参数之后不能再有其他参数(即只能是最后一个参数),否则会报错
函数的length属性,不包括 rest 参数。 arguments对象不是数组,而是一个类似数组的对象。所以为了使用数组的方法,必须使用Array.prototype.slice.call先将其转为数组。
rest 参数就不存在这个问题,它就是一个真正的数组,数组特有的方法都可以使用。 下面是一个 rest 参数代替arguments变量的例子。 // arguments变量的写法
function sortNumbers() {
return Array.prototype.slice.call(arguments).sort();
} // rest参数的写法
const sortNumbers = (...numbers) => numbers.sort(); 6 双冒号运算符
函数绑定运算符是并排的两个冒号(::),双冒号左边是一个对象,右边是一个函数。该运算符会自动将左边的对象,作为上下文环境(即this对象),绑定到右边的函数上面。 foo::bar;
// 等同于
bar.bind(foo); foo::bar(...arguments);
// 等同于
bar.apply(foo, arguments); const hasOwnProperty = Object.prototype.hasOwnProperty;
function hasOwn(obj, key) {
return obj::hasOwnProperty(key);
} 7 严格模式
只要参数使用了默认值、解构赋值、或者扩展运算符,函数内就不能显式指定严格模式。因为:矛盾点 参数先执行,执行到函数体发现要严格,参数处才报错。
两种解决办法:
设定全局性的严格模式,这是合法的。
把函数包在一个无参数的立即执行函数里面

结束

es6函数模块-------初步学习的更多相关文章

  1. es6 箭头函数(arrow function) 学习笔记

    箭头函数有两个好处. 1.他们比传统函数表达式简洁. const arr = [1, 2, 3]; const squares = arr.map(x => x * x); // 传统函数表达式 ...

  2. 关于es6 import export的学习随笔

    记得之前的一次面试中,有个面试官问了我关于es6导入和导出的一些知识点,可惜当时对这方面没在意,只知道每次机械的import和export,也不知道为啥要这样用,现在静下心来,好好的把这块看了下,顺便 ...

  3. python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习

    列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...

  4. json2.js的初步学习与了解

    json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...

  5. 老周的ABP框架系列教程 -》 一、框架理论初步学习

    老周的ABP框架系列教程 -- 一.框架理论初步学习   1. ABP框架的来源与作用简介 1.1  简介 1.1.1       ABP框架全称为"ASP.NET Boilerplate ...

  6. C程序中引用自定义的C函数模块

    原文:C程序中引用自定义的C函数模块 我们知道,刚开始接触C语言编程,一般都是在一个.c或者.cpp(以下只说.c)的文件中编写代码,其中一定会有一个入口函数, 也就是main()函数,你可以将程序代 ...

  7. 配置php支持gd函数模块

    配置php支持gd函数模块 今天在联系上线源码包tttuangou 的时候,出现了对gd_info和imagecreatefromjpeg模块缺失的提示,我丈二和尚摸不着头脑,决定彻底学习一番 什么是 ...

  8. ECMA Script 6_模块加载方案 ES6 Module 模块语法_import_export

    1. 模块加载方案 commonJS 背景: 历史上,JavaScript 一直没有模块(module)体系, 无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来. 其他语言都有这项功能: ...

  9. ES6,ES5,ES3,对比学习~

    在简书上看到一个博主写的文章,感觉很有用.留下:https://www.jianshu.com/p/287e0bb867ae  Excuse me?这个前端面试在搞事!https://zhuanlan ...

随机推荐

  1. ps -ef|grep htpd|wd -l

    在Linux下查看Apache的 负载情况,以前也说过,最简单有有效的方式就 是查看Apache Server Status(如何开启Apache Server Status点这里),在没有开启Apa ...

  2. Raw-OS源代码分析之idle任务

    分析的内核版本号截止到2014-04-15,基于1.05正式版,blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样.则是未深究理解部分. Raw-OS官方 ...

  3. 1-1、superset开发环境搭建

    在对superset进行二次开发的过程中,往往需要搭建本地开发环境,修改后立即看到效果,下面我们就讲下开发环境的搭建. 1.打开PyCharm,在菜单栏上执行VCS-->Checkout fro ...

  4. UIScrollView小记

    视图的滚动过程,其实是在不断修改原点坐标.当手指触摸后,ScrollView会暂时拦截触摸事件,使用一个计时器.假如在计时器到点后没有发生手指移动事件,那么ScrollView发送tracking e ...

  5. spring+springMVC中使用@Transcational方式管理事务的必须要配的东西。

    spring中管理事务的配置方式除了@Transcational还有使用aop等,本文介绍@Transcational方式. 关于这两种方式的选择: aop方式适合需要支持事务的方法或类较多,且方法和 ...

  6. Centos7.2yum安装时候出现db5错误的解决办法

    Centos7.2使用yum安装软件是出现如此错误提示 解决办法 删除 /var/lib/rpm文件夹下面所有以__db开头的文件

  7. PHP函数addslashes和mysql_real_escape_string的区别

    转自:http://www.jb51.net/article/49205.htm   这篇文章主要介绍了PHP函数addslashes和mysql_real_escape_string的区别,以及一个 ...

  8. [LeetCode] 7.Reverse Integer - Swift

    Reverse digits of an integer. Example1: x = , return Example2: x = -, return - 题目意思:对一个整型进行反转 实现代码: ...

  9. linux系统分析命令总结

    一张图片

  10. LeetCode—Longest Consecutive Sequence

    题目描述: Given an unsorted array of integers, find the length of the longest consecutive elements seque ...