js组成
ECMAScript
解释器、翻译(定义变量,定义函数)
DOM(Doucument Object Model)
文档,对象,模型(操作页面钟的元素)
BOM (Browser Object Model)
浏览器,对象,模型(window 操作浏览器)几乎不兼容
变量类型
类型 : typeof运算符
undefined 1. 你真的就没定义 2.虽然定义了,但是没给值
number 数字
string 字符串
Boolean 字符串
object 对象 1.基本类型 2.符合类型:对象,由最基本的东西组成( string number.boolean undefined)
function 函数
一个变量只存一种数据类型
parseInt
从字符串中提取数字(碰到不是数字的就结束了12px34所以只提取出12)(将字符串转换成数字)
parseFloat
(可以提取小数)
NaN的意义和检测
在这里插入代码片
隐式类型转换
两个等号==;先把两边的东西转成一样的类型,然后在比较
三个等号===;不转换,直接比较
减号-;会转换,(除了加法不会直接转换成一样类型外,其它符号都能转换‘*’,‘/’都可以)
局部变量
局部变量:定义在一个函数中,只能在这个函数中用
闭包
子函数可以使用父函数的局部变量
命名规范
1.首字母大写
2.类型前缀 {
o对象
a 数组
b 布尔值
f 浮点数
fn 函数
i 整数
re 正则表达式
s 字符串
v 变体变量
}
运算符
算术:求模% 加(+) 减(-) 除(/)
赋值:=、+=、-=、%=
关系:< > <= >= == === !== !===
逻辑:与(&&) 或(||) 取反( !)
运算符优先级:括号()
程序流程控制
判断:if switch
if(条件){
语句一
}
else{
语句二
}
三目:条件?语句一:语句二(if else 的简写)
循环:while for
跳出:break(中止整个循环) continue (中止本次循环,继续下一次循环)
真,假:真的:true,非零数字,非空字符串(‘123’) ,非空对象,;假的:false,数字零,空字符串(’’),空对象(null),undefined。
Json:一种标记语音
var obj={ a:5,b:6,c:'123',d:[1,2,3]};
alert(obj.a);
var arr=[{a:5,b:6},{a:6,b:19}];
alert(arr[1].b);
Json 和for in
var obj={a:5,b:6,c:98};
var attr=' ';
for(attr in obj)
{
alert(attr+'='+obj[attr]);
}