JavaScrit 又称JS
JS的组成ECMAScrit(语法)和Browser Objects(DOM,BOM)(特性)组成。
DOM(文档对象模型):提供访问和操作网页内容的方法和接口。
BOM(浏览器对象模型):提供与浏览器交互的方法和接口。
// | 单行注释 |
---|---|
/**/ | 多行注释 |
; | 结束语句 |
JS的语法:
ECMAScrit中的一切都要区分大小写。如:(变量,函数名和操作符)
什么是标识符
变量,函数,属性名,或者函数的参数。
标识符命名规则
1.由字母(A-Z,a-z),数字(0-9),下划线(_)或美元符号($)组成
2.不能用数字开头(0-9)
3.不能使用保留字和关键字作为标识符。
什么是变量
ECMAScrit的变量是松散类型。
松散类型:可以用来保存任何类型的数据(变量的类型由变量的值决定)
变量的声明
语法:var 变量名;
var name="张三";
不写var会被认定为全局变量。
name="张三";
变量的赋值
语法:
var _name="aa";
var _age;
_age=18;
var _name,_age;
_name="aa";
_age=18;
功能 | 检测变量类型 |
---|---|
语法 | typeof 变量 或 typeof(变量) |
返回值 | string类型有可能是:string,number,boolean,object,undefined,function |
用法:
var _name="张三";
var _agr=18;
console.log(_name);// 在空中台中打印_name 的值.
console.log(typeof _name);// 在空中台中打印_name的类型
console.log(typeof(_name));// 在空中台中打印_name的类型
没有赋值的变量就是undefined类型。
1.null值表示一个空对象指针
2.如果定义的变量准备在将来用于保存对象那最好将变量值初始化为null。
undefined值是从null值派生出来的。undefined= =null值为true。
Number类型 包括 整数型,浮点型和NaN。
在数值与非数值类型的运算中的值为NaN。
Nan的操作(例如NaN/10)都是返回NaN。NaN和任何值都不相等,包括NaN本身。
isNaN() 检测是否是"非数值"。
返回值:boolean(布尔型)
var _aaa="123";
var _bbb=111;
var _ccc="123a";
console.log(isNaN(_aaa));// 在空中台中打印_aaa 是否是“非数值”
console.log(isNaN (_bbb));// 在空中台中打印_bbb 是否是“非数值”
console.log(isNaN(_ccc));// 在空中台中打印_aaa 是否是“非数值”
运行方法:把值转换成数值。成功输出false,失败输出true。 所以console.log(isNaN(_aaa));得出了的是false
var _aaa="123";
console.log(Number(_aaa));
运行方法:把值转换成数值。成功输出数值,失败输出NaN。
var _aaa="12px";
console.log(parseInt(_aaa,16));
运行方法:
1.忽略字符串前面的空格,直到第一个非空格的字符
2.转换空字符或第一个字符非数字字符返回NaN
3.这个函数提供第二个参数:转换时使用的基数(即多少进制)
var _aaa="128.123.555";
console.log(parseFloat(_aaa));
运行方法:
1.忽略字符串前面的空格,直到第一个非空格的字符
2.转换空字符或第一个字符非数字字符返回NaN
3.只能获取到第一个小数点。
1.用于表达0-16位Unicode字符组成的字符序列,即字符串。
2.字符串可由双引号(")或者单引号(’)表示。
var aa=123456789;
var bb=aa.toString();//转换为本副本
console.log(bb);
console.log(typeof(bb));
值:
true | 真 |
---|---|
false | 假 |
var aa=1;
console.log(Boolean(aa));;//转换为本副本
console.log(typeof(Boolean(aa)));
1.除0之外的所有数字,转换为布尔都为true
2.除"" (空字符)之外的所有字符包括空格字符,转换为布尔都为true
3.null和undefined转换成布尔为false
什么是表达式
将同类型的数据(如常量,变量,函数等),用运算符号按一定的规则链接起来的,有意义的式子称为表达式。
+ | 加 |
---|---|
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
++a | 自身加1再进行算数运算符 |
a++ | 先进行算数运算符后再自身加1 |
–a | 自身减1再进行算数运算符 |
a– | 先进行算数运算符后再自身减1 |
var aa=5;
var bb="5";
var cc="c";
console.log(aa+bb); //bb为 数字字符,浏览器会进行 隐式类型转换(加法只有在数值和数值之间是相加,其他情况下是连接)
console.log(aa+cc); // cc为 字符字符串, 所以值NaN。
只要有一个条件不成立,反回false。(两个值全为true,值为true)
var aa=80;
var bb=70;
var cc=60;
console.log(aa>bb && bb>cc);
console.log(aa>bb && bb>cc && aa>cc);
console.log(aa>bb && bb>cc && cc>aa);
如果变量是数字和字符串,则进行隐式转换,且第一个值为true返回最后一个值,第一个为false的反回第一个值。如:
/*true后一个值,false第一个值*/
var aa="a";
var bb=0;
var cc="cc";
console.log(aa && cc); //第一个值隐私转换为true,所以值为cc
console.log(aa && cc && aa); //第一个值隐私转换为true,所以值为a
console.log(bb && cc && aa); //第一个值隐私转换为false,所以值为0
如果有一个值为null,NaN或undefined 那么值就是nullNaN或undefined ,如:
var bb=null;
var aa="a";
var cc;
var dd=NaN
console.log(aa && cc); //undefined
console.log(aa && bb && aa); //null
console.log(aa && dd && aa); //NaN
只要有一个条件不成立,反回true。(有一个值为true,就为true)
var aa=80;
var bb=70;
var cc=60;
console.log(aa<bb || bb<cc);
console.log(aa>bb || bb>cc || aa>cc);
console.log(aa>bb || bb>cc || cc>aa);
如果变量是数字和字符串,则进行隐式转换,且第一个值为true返回第一个值。如果第一个是false,则运行第二个操作数,如果值为true返回第二个值。以此类推。如:
/*false向下进行,true输出值,全是false输出最后一个值*/
var aa="a";
var bb=0;
var cc="";
console.log(aa || cc); //aa
console.log(bb || aa || cc ); //aa
console.log(bb || cc || aa); //aa
console.log(bb || cc || NaN || 0);//0
只有全部为null,NaN 和undefined。结果才会是null,NaN 和undefined。
var aa="a";
var bb=0;
var cc="";
console.log(null|| null); //null
console.log(NaN|| NaN|| cc ); //""
console.log(undefined|| undefined|| cc); //0
true值false,false值true
var aa="a";
var bb=0;
var cc="";
console.log(!aa); //false
console.log(!bb); //true
console.log(!cc); //true
console.log(!!aa); //true
console.log(!!bb); //false
console.log(!!cc); //false
简单赋值:=
复合赋值:
+= |
---|
-= |
*= |
/= |
%= |
var aa=5;
aa+=5;// aa=aa+5;
aa-=5;// aa=aa-5;
aa*=5;// aa=aa*5;
aa/=5;// aa=aa/5;
aa%=5;// aa=aa%5;
> | 大于 | - |
---|---|---|
< | 小于 | - |
>= | 小于等于 | - |
<= | 大于等于 | - |
== | 相等 | 只比较值 |
=== | 全等 | 比较值时比较数据类型是否相等 |
!= | 不等于 | 比较值知否不相等 |
!== | 不全等 | 比较值时比较数据类型是否不相等 |
值:boolean类型
语法:
条件?执行代码1:执行代码2
说明:
可代替简单的if语句
如果条件成立,执行代码1,否则执行代码2
var aa=85;
var bb=(aa>=60)?"及格":"不及格";
var cc=50;
var dd=(cc>=60)?"及格":"不及格";
console.log(bb);
console.log(dd);