| 学习时间 | 完成时间 ✅ | 重难点 | 疑问/遗漏 |
|---|---|---|---|
| 复习时间 | |||
闭包
高级程序设计第四版定义:闭包是指那些引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。
对象
var obj={name:'ckl',age:18,teach: function(){}}添加对象:obj.address='北京'删除对象delete obj.age获取对象的keyObject.keys(obj) //["name", "age", "teach"]获取对象的valuesObject.values(obj) //["ckl", 18, ƒ]获取对象的key和valuesObject.entries(obj) //[["name", "ckl"],["age", 18],["teach", ƒ]]//创建对象的方式var obj=new Object();obj.name='ckl';//自定义构造函数 大驼峰function Teacher() {this.name='张三'; //this只有被实例化new的时候才会被创建this.sex='男士';this.smoke=function(){console.log('I am smokeing')}}var teacher=new Teacher()function Car() {this.car='car'console.log('this',this)//return this; //会隐士的返回this 所以new出来的对象和this全等}(1)Car();(2)var car=new Car()在没有实例化的时候(没有执行2),this指向的是window,只有当实例话的时候this指向实例化的对象,this的指向一定是实例化的对象,而不是构造函数当构造函数被实例话的时候,就像普通的函数被执行,只要构造函数执行就会创建构造函数的上下文AO={this:{car:car}}
包装类
原始数据类型
var num=3
var a=new number(3)
a.len=3
此时a就会有len属性
var arr=[1,2,3,4,5]
arr.length=2;
console.log(arr) //[1,2]
var str=’abc’
str.length=1
console.log(str)// ‘abc’
length对数组会截取,对字符串不会截取
//第一题var name='languiji'name+=10;//'languiji10'var type=typeof(name);//'string'//(1) var type=new String(typeof(name)) 加上这一句下面才会打印type.text==='string'if(type.length===6) {type.text='string'}console.log(type.text)//undefined//第二题function Test(a,b,c) {var d=1;function f(){d++;console.log(d);}this.g=f;}var test1=new Test();test1.g();//2test1.g();//3var test2=new Test();test2.g();//2//第三题var x=1,y=z=0;function add(n) {return n=n+1;}y=add(x);function add(n) {return n=n+3}z=add(x)console.log(x,y,z) //1,4,4//第四题function foo1(x) {console.log(arguments)return x;}foo1(1,2,3,4,5);function foo2(x){console.log(arguments)return x}(1,2,3,4,5)(function foo3(){console.log(arguments)return x})(1,2,3,4,5)只有1,3可以打印出1,2,3,4,5foo2不执行,如果foo2里没有数值则会报错第五题function b(x,y,a) {//a=10;//console.log(argument[2]) 10arguments[2]=10;console.log(a);//10}b(1,2,3) //如果a没有传则 形参与arguments的映射就没有,此时再打印arguments为undefined
ASCII码
ASCII码 表1 0~127 一个字节 byte 表二 128~255
UNICODE码 涵盖ASCII码
var str='abc'var pos=str.charCodeAt(0);此处的0表示字符串第零个位置的字符对应的码
作业
function Car(opt){this.brand=opt.brand;this.color=opt.color;this.displacement=opt.displacement;}function Person(opt){this.name=opt.name;this.age=opt.age;this.income=opt.income;this.selectCar=function(){var myCar=new Car(opt.carOpt);console.log(this.name+'挑选了一辆排量为'+myCar.displacement+'的'+myCar.color+myCar.brand)}}var jone=new Person({name:'约翰',age:29,income: '20k',carOpt:{brand:'马自达',color:'红色',displacement: '2.0'}})jone.selectCar();
