isNaN():非数字
alert()
prompt()
confirm()
console.log()
函数参数
-
默认值参数
function add1(a,b,c=0) { sum=a+b+c; console.log(sum); } add1(1,2); /* 3 */
-
不定长参数
不定长参数为对象function add2(a,b,...c) { // console.log(typeof c); /* object */ var sum=a+b; for (var i of c){ sum+=i; } console.log(sum); } add2(1,2,3,4,5); /* 15 */
函数类型
-
普通函数
function add() { alert('add'); }
-
函数表达式/匿名函数:有this
var sub=function () { alert('sub'); }; sub();
!!!回调函数!!!
function add(a,b,func) { var c=a+b; func(c); } add(1,2,function (q) { /* function 匿名函数 */ alert(q); })
-
lambda函数 => 无this
无作用域,无隔离区python 无作用域,有隔离区
标志为 =>,()=>{}
var sub=(a,b,c)=>{ return a+b+c; }
var sub=(a,b,c)=>a+b+c;
var sub2=a=>a+a+a;
调用:
var res=sub(1,2,3); alert(res);
匿名函数有this,lambda函数无this
<body>
<input type="button" id="btn1" value="login....">
<script>
var btn=document.getElementById('btn1');
/* 1. 匿名函数有 this */
btn.onclick=function () {
setTimeout(function () {
this.value='登录...' /* this != btn */
},1000)
};
/* 2. lambda没有 this */
btn.onclick=function () {
setTimeout(()=>{
this.value='登录...' /* this == btn */
},1000)
};
</script>
</body>