变量-->7种数据类型 bool undefined string null number symbol object
函数-->函数(变量的特例)
console.log 打印出来和返回出来不一定一致
一.声明函数的5种写法:
1.function x(){return undefined}
2.var x; x=function (){return undefined}//后面的是匿名函数
3.var x=function y() {return undefined}(会考)
4.window.Function//函数对象
命名方式:f= new Fuction('x','y','return x+y')
5.f=(x,y)=>{return x+y} //箭头函数 匿名函数 f.name=anoymous
如果只有一句话 则可以花括号和return同时去掉! f=(x,y)=>x+y 则也不能返回一个对象
如果参数只有一个,则可以左边的括号也可以去掉 f=n=>n+n
二、函数的name
var f3=function f4(){}
f3.name=f4
三、函数的本质(函数的调用)
函数就是一段可以反复调用的代码块(xxx.call(undefined.1,2)==f(1,2) 两种不同调用方法
)
eval() 给一个字符串,当代码执行。比如window.eval('1+1') 得到2
四、this和arguments
f.call(undefined,1,2)
1.call的第一个参数可以用this得到
2.call的后两个参数可以用arguments得到
伪数组:如果--proto--没有指向Array.proto 但是有length等数组属性。则是伪数组。
五、stack overflow
六、如果一个函数,使用了他范围外的变量,那么(这个函数+这个变量)就叫做闭包。
var a=1;
function f4(){console
}
'use strict' 严格模式 输出的会被严格控制·会不要''和类型 number等
网友评论