学习

1.模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    //1.不用点击也能执行,内部
    <script>
        alert('test')
    </script>
    //2.不用点击也能执行,外部
    <script type="text/javascript" src=""></script> //src="" script 内部写了也会被忽略的

</head>
<body>
    //3.点击执行
    <button onclick="alert('test');">1.</button>
    <a href="javascript:alert('test');">2.</a>
    <a href="javascript:;">2.</a>

</body>
</html>

2.字面量类型6种

1. string  ,字符串的引号必须在同一行,不然会报错,换行可以采用+号做拼接
2. Number (nan, Infinity)
3. Boolen
4. Null (typeof 是object)
5. undefined //undefined 和 xx is not defined区别
6. object    //应用数据类型

3.调试


alert()
document.write()
console.log()

4.常用函数


//循环
array.forEach((item,index,array)=>{
      if (item.id == id){
            neget.innerHTML= item.error_msg;
      }
})



//类型转换
//1. 字符串
JSON.stringify(obj)
test.toString()  //【str,num,blen】 有效,这个是方法
String()        // 都有效,包括null,和undefined,这个是函数

//2. 数字
//undefined,转换为NaN 记住
Number()     //【非数字,undefined,转换为NaN】,【空,空格,false,Null转换为0】
parseInt()    //布尔类型,会先转换为string,再操作,所以和Number()不同,false会转换为NaN, 防止a=“070”不同浏览器解析的不一样(8进制和10进制),可以parseInt(a,10)
parseFloat()

//3. bool
Boolen()     //false=【数字(0,NaN),字符串(“”),null,undefined】



//运算符
typeof 是运算符,不是函数,运算符是会返回结果的, 返回的是字符串

1. 除了加法的任何运算符,先转换数字Number()函数,再运算,注意任何数字和NaN运算得NaN ,
2. +对于两个‘字符串’是进行拼接,任何值和字符串相加都会先转换成字符串,再拼接,可以利用这个特点转换其他类型成‘字符串’,+‘’实现】
   【除了上面的加法,其他的都遵循先转换数字,100-‘1’是99数字类型 ,利用这个特性隐私转换成数字,-0实现,前面加一元运算符+更加简单】



//自增
a   //是变量
++a //是表达式,表达式的值是:自增后的值
a++ //是表达式,表达式的值是:原变量


//区别'-' 和'!'
-true  :-1 (先转换成数字再取反)
!true :false(先转化成bool,再取反)


// || && : 或 与  
对于非bool的运算,先转换bool -》 运算 -》 返回原来的值
短路原则
var res = 5&&6   //6
var res = Nan&&5  //Nan

原文地址:https://www.cnblogs.com/amize/p/14259591.html