es6(也称es2015)学习

1.静态方法和实例方法
function A(){

}
A.staticMethof = function(){
alert(‘静态方法’);
}
A.prototype.instaceMethod = function(){
alert(‘实例方法’);
}
A.staticMethof();
var instace = new A();
instace.instaceMethod();
静态方法是类直接调用,实例方法要new 出来的对象才能调用。js中可以在一个构造器上加它自己的属性方法来作为静态方法和静态属性。
静态方法是不能用实例调用的,就是不用new一个对象来调用。
var Test={};
// 对象上定义了一个静态方法 getNun也是一个静态方法。Test.a=123; a也是一个静态属性。
Test.getNum=function() {
return a;
}
2.emoji 表情符号,它不是一个小图片,其实他是一个字符
3. var a=’name’;
var obj={name:123,a:456};
console.log(obj[a]);//123
console.log(obj.a);//456
console.log(typeof obj.a);//number
4.文档查询工具Dash是一个API文档浏览器( API Documentation Browser),以及代码片段管理工具(Code Snippet Manager)。在mac上很好 用。
5.API,应用程序编程接口,是一些预先定义的函数,查询这些js函数的官方使用方法用 方法名加上空格 加上mdn在百度一搜即可。*mdn也可以查询html 。css的用法,标签或样式加上mdn*
6.chrome要支行es6程序,需要开户es6模式,在控制台开启实验性javascript。chrome控制台 Network 里的disable cache 这个选项意义:用不用缓存来加载页面。
7.es6中用let声明变量 ,常量用const定义,常量的名字每个字母都要大写。只读不能重新赋值。es5中没有常量可以通过创建只能取值不能赋值的私有变量来模仿常量.(用闭包思想)
8.es6兼容性解决办法:**babel能把es6代码编译成es5,写完的es6到babel编译成es5这样就能兼容了.**Babel 是一个 JavaScript 编译器
9.js深拷贝和浅拷贝
浅拷贝就是复制一份引用,所有引用对象都指向一份数据,并且都可以修改这份数据。因为JavaScript存储对象都是存地址的,所以浅复制会导致 obj 和 obj1 指向同一块内存地址.
深拷贝则是复制变量值,对于非基本类型的变量,则递归至基本类型变量后,再复制.通俗讲:深拷贝是开辟一块新的内存地址,将原对象的各个属性逐个复制出去。obj和obj1的地址不同。
10.迭代和递归:
迭代器:Iterator ; 递归:recursion
迭代:确定迭代变量,建立迭代关系式,迭代法是一种不断用变量的旧值递推新值的过程,(自己总结:一般用在循环中,把循环的条件进行迭代,以使循环结束,避免死循环。)
递归:程序调用自身的编程技巧称为递归( recursion)//举例:
function abc(n){
return n*abc(n-1);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值