封闭函数:没有名字,初始化的调用
语法结构: (function(){函数执行体})() !function(){函数执行体}() ~function(){函数执行体}()
作用:避免名称的冲突:在函数体内部定义的变量以及函数的名称并不会被外部元素访问或者获取.
封闭函数的案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
window.onload=function(){
function getId(id){
return document.getElementById(id);
}
(function(){
var result= getId('div1');
result.style.width=600+'px';
result.style.height=500+'px';
result.style.background='red';
})();
(function(){
var result= getId('div2');
result.style.width=400+'px';
result.style.height=200+'px';
result.style.background='deeppink';
})();
(function(){
var result= getId('div3');
result.style.width=300+'px';
result.style.height=300+'px';
result.style.background='deepskyblue';
})();
}
</script>
</head>
<body>
<div id="div1"> </div>
<div id="div2"></div>
<div id="div3"></div>
</body>
</html>
js内置对象: BOM
eval() : ‘2+3’ 隐式转换()—转换之后变成数字 类型5
例如:
//eval 隐式转换 字符串转换成==>数字
var str='5+3';
console.log(str);//5+3
//隐式转换成数字运算
console.log(eval(str));//8
isNaN(): 是否是非数字的值
例如:
//isNaN 判断是否是 非数字的值 NaN 表示非数字的值
var stc='abc123';
var num=parseInt(stc);
if(isNaN(num)){
console.log('是非数字的值')
}else{
console.log('不是非数字的值')
}