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>