js基础

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);

原文地址:https://www.cnblogs.com/akic/p/10624155.html