1.| 和&会将两侧数据作为位运算进行计算。
eg:console.log(true & false);//0
console.log(true | false);// 1
2.数据类型自动转换
console.log("12"+1);//121
console.log("12"-1);//11
console.log("abc"+true);//abctrue
console.log("abc"-true);//NaN
console.log("")//啥都没有但是占位置
3.Null:常用来表示一个不存在的值,多数用于返回一个不存在的值
console.log(undefined == null);//比较的是两者的类型,而不是值。true,因为undefined属于null
console.log(undefined === null);//比较的是两者的值。false
4.NaN属性 表示一个非数字
NaN属性和任何值都不相等,包括它自己
isNaN()方法
eg:console.log(NaN == "abc");//false
console.log(NaN == NaN);//false
console.log(isNaN("abc"));//true
console.log(isNaN(123));//false
console.log(isNaN("123"));//false
5.运算符
JS里面计算式有浮点型,返回时能整型则整
eg:console.log(3/2);//1.5 console.log(1320/1000*1000);//1320 console.log(2.3+3.7);//6
6.if
在if语句中的判断部分,可以直接使用q=1的形式,这种 新式是先将q赋值为1,然后对q进行判断,这时q已经为 1,if(1)就是if(true),所以或执行true一部分的代 码。简单来说就是先赋值,再运算。
var q = 1;
if(q = 2){
console.log("你对滴");
}else{ console.log("你不对");}//输出:你对滴
在判断部分先书写1,在书写q,格式:1 == q,这种情况 可以执行。但是如果改成1 = q,则代码不能正常执行。可 以通过这种形式避免书写错误。
7.数组的特点
a.数组中可以存储的任意元素类型
b.数组的长度是可变的。
eg:var arr = new Array();
arr[100]=1;
console.log(arr);//[empty × 100, 1]
8.Global对象:Global中定义的方法和属性特点是属于全局,可以直接使用。
console.log(parseInt("12fg3abc123"));//12
console.log(parseFloat("123.12dfd3"));//123.12
console.log(parseFloat("12dsd3.12dfd3"));//12
9.BOM --- Browser Object Model
a.window.onload = function(){
var div = document.getElementById("div1");
div.innerText = "aa";
}//!!!onload:当前浏览器页面装载完成后触发
b1.var flag = window.confirm("请选择是否放假?");
if(flag){
alert("恭喜,加班三天!");
}else{
alert("正常上班三天!");
}
b2.var password = window.prompt("请输入密码:");
if("9527" == password){
alert("恭喜,登录成功");
}else{
alert("对不起,登录失败");
}
c.!!!setInterval 和 setTimeout的不同?
setInterval :会一直执行 setTimeout:只执行一次
eg:
window.setInterval(function(){
var date = new Date();
var div = document.getElementById("div1");//!!!onload:当前浏览器页面装载完成后触发
div.innerText = date.toLocaleString();
}, 1000);