Javascript基础篇
script标签可放置位置及注意事项
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--script标签内,写Javascript代码-->
<script type="">
console.log('hello,world! head中');
</script>
</head>
<!--不用显示定义type,也默认就是Javascript-->
<script type="text/javascript">
console.log('hello,world! head下');
</script>
<body>
<script>
console.log('hello,world! body中');
</script>
</body>
<script>
console.log('hello,world! body下');
</script>
<!--script标签必须是成对出现-->
<script>
console.log('hello,world! 无论在哪,缺少一对就不好用了 ');
</html>
并不能放在html下,否则会报错
浏览器控制后台的使用
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//1. 定义变量 变量类型 变量名 = 变量值
var score = 71;
//2. 条件控制
if(score>60 && score<70){
alert("60-70")
}else if(score>70 && score<80){
alert("70-80")
}else{
alert("other")
}
//console.log(score) 在浏览器的控制台打印变量! 相当于sout
</script>
</head>
<body>
</body>
</html>
数据类型
数值,文本,图形,音频,视频;
变量
var 变量命名不能以数字开头,否则会报错
number
js不区分小数和整数,Number
字符串
‘abc’ “abc”
布尔值
true , false
逻辑运算
&& 与
|| 或
! 非
比较运算符
=
== 等于(类型不一样,值一样,也会判断true)
=== 绝对等于(类型一样,值一样,结果为true)
NaN与所有的数值都不相等,包括NaN
只能通过isNaN(NaN)来判断这个数是否是NaN
浮点数问题:
尽量避免使用浮点数进行运算,存在精度问题!
null 和 undefined
null 空
undefined 未定义
数组
java数组中必须是相同类型的对象,而js中不需要这样
取数组下标: 如果越界了,就会返回undefined
数组及对象的实例代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//保证代码的可读性,尽量使用[]
var arr = [1,2,3,4,5,'hello',null,true];
new Array(1,12,3,4,5,'hello');
console.log(arr[0])
console.log(arr[8])
console.log('------分隔符-------')
//java 的写法:Person person = new Person(1,2,3,4,5);
var person = {
name: "qinjiang",
age: 3,
tags:['js','java',12,'...']
}
</script>
</head>
<body>
</body>
</html>
对象
对象是大括号,数组是中括号–
每个属性之间使用逗号隔开,最后一个不需要加逗号
严格检查模式(use strict)
严格检查模式
前提:idea 需要设置支持ES6语法
‘use strict’; 严格检查模式用于预防Javascript的随意性产生的一些问题
必须写在Javascript的第一行
局部变量建议使用let去定义
var和let 的区别
var和let 作用域不一样,var是函数作用域,而let是块作用域,也就是说,在函数内声明了var,整个函数都是有效的,比如说在for循环内定义了一个var变量,实际上其在for循环以外也是可以访问的;
而let由于是块作用域,所以如果在块作用域内(比如说for循环内)定义的变量,在其外面是不可被访问的,所以let用在for(let i;i<n ;i++) 是一种推荐的写法
下图是严格检查模式的效果,下图右侧代码如果不用严格检查模式就不会报错