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