1.前言
- ECMAscript解释,用来解释JS代码
- DOM 文档对象模型,浏览器在做显示时需要渲染DOM树
- BOM 浏览器对象模型,可以控制浏览器的行为,代码的兼容性很差
2、基本类型
数字类型: var a = 12;
字符串: var a = "String";
函数类型: var a = function()
对象类型: var a = document
布尔类型: var a = boolean
一个变量的类型是根据其赋值决定。
3.类型转换
显示转换
<!DOCTYPE html>
<html>
<head>
<title>求和</title>
<script type="text/javascript">
window.onload= function (){ var oBtn = document.getElementById('btn');
oBtn.onclick = function (){
var oInput1 = document.getElementById('input1');
var oInput2 = document.getElementById('input2');
var value1 = parseInt(oInput1.value); //将字符串转换为Int
var value2 = parseInt(oInput2.value);
if(!isNaN(value1) && !isNaN(value2)) //判断一个变量是不是数字类型
alert(value2 + value1);
}
}
</script>
</head>
<body>
<input type="text" id="input1">
<input type="text" id="input2">
<button id="btn" type="button">求和</button>
</body>
</html>
隐式类型转换
== 值相等则为真
=== 类型相等且值相等为真
+ 字符串连接符/数字相加
- 会将字符串转为数字做减法操作
4.变量的作用域
- 闭包:子函数可以访问父函数中的变量
function a(){
var temp =1;
function b(){
temp = 2;
}
} - 变量命名规范
5.json解析
单个访问json
<!DOCTYPE html>
<html>
<head>
<title>json</title>
<script type="text/javascript">
var json = {a:12, b:"sss", c:12.4};
alert(json.a);
alert(json['b']);
</script>
</head>
<body>
</body>
</html>
循环访问json
<!DOCTYPE html>
<html>
<head>
<title>json</title>
<script type="text/javascript">
var json = {a:12, b:"sss", c:12.4};
//tmp为键,json[tmp]为值
for(var tmp in json)
alert(json[tmp]);
</script>
</head>
<body>
</body>
</html>