1.什么是JavaScript
1.1概述
JavaScript是一门世界上最流行的脚本语言
1.2历史
ECMAScript它可以理解为是JavaScript的一个标准
最新版本已经到es6版本~
但是大部分浏览器还只停留在es5代码上!
开发环境–线上环境,版本不一致
2 .快速入门
2.1引入JavaScript
1.内部标签
<script>
//........
</script>
2.外部引入
abc.js
//...
test.html
<script src="abc.js"></script>
2.2基本语法入门
<!--JavaScript严格区分大小写!-->>
<script>
//1.定义变量 变量类型 变量名 =变量值;
var score=1;
//alert(num);
//2.条件控制
if(score>60 && score<70){
alert("60-70")
}else if(score>70 && score<80){
alert("70-80")
}else{
alert("other")
}
//console.log(score) 在浏览器的控制台打印变量! System.out.println();
// F11调试网页 第三个Sources里头有断点
</script>
浏览器必备调试须知:
元素Eelements 控制console 源码Sources 网络Network 应用Application
2.3数据类型
数值,文本,图形,音频,视频
变量
var _$
//java js中都可以用中文变量
number
js不区分小数和整数,number
123//整数
123.1//浮点数123.1
1.123e3//科学计数法
-99 //复数
NaN //not a number 不是一个数值
Infinity//表示无限大
字符串
‘abc’ “abc”
布尔值
true,false
逻辑运算
&& 两个都为真,结果为真
|| 一个为真,结果为真
! 真即假,假即真
比较运算符
=
== 等于 类型不一样,值一样,也会判断为true
=== 绝对等于 类型一样,值一样,结果为true
这是一个JS的缺陷,坚持不要使用==比较
须知
- NaN===NaN,这个与所有数值都不相等,包括自己
- 只能通过isNaN(NaN)来判断这个数是否为NaN
浮点数问题:;
consolo.log((1/3)===(1-2/3))
尽量避免使用浮点数进行运算,存在精度问题
Math.abs( 1/3-(1-2/3) )<0.00000001
null和undefined
-
null 空
-
undefined 未定义
数列
java的数值必须是相同类型的对象~,js中不需要这样!
//保证代码的可读性,尽量使用[]
var arr=[1,2,3,4,5,"hello",null,true];
new Array(1,2,3,4,5,"hello");
取数组下标,如果越界了,就会
undefined
对象
对象是大括号,数组是中括号
每个属性之间使用逗号隔开,最后一个不需要添加
//Person person = new Person(1,2,3,4,5,);
var person={
name:"1232",
age:3,
tags:["js","web","java","..."]
}
取对象的值
person.name
>"qinjiang"
person.age
>3
- 严格检查格式
<!--
前提:IDEA需要设置ES6语法
'use strict'; //严格检查模式,预防JavaScript的随意性导致产生的一些问题,必须写在JavaScript的第一行,在head的里头
-->
<script>
//全局变量
let i=1;//局部变量建议都用let取定义
//ES6 let
</script>
在IDEA中设置ES6语法的方式
file[文件]—Settings[设置]—languages…[语言]—JavaScript—第一行JavaScript language version后面必须设置ECMAScript 6
3.数据类型
3.1字符串
1.正常字符串我们使用 单引号,或者双引号括住
2.注意转义字符\
\'
\n
\t
\u4e2d \u#### Unicode字符
\x41 Ascll字符
3.多行字符串编写
//tab上面的键,esc下面的键
var msg=`
hello
world
`
4.模板字符串
//tab上面的键,esc下面的键
let name="qinjiang";
let age=3;
let msg='你好呀,${name}'
5.字符串长度
str.length
6.字符串的可变性,不可变
7.大小写转换
//注意,这里是方法,不是属性了
student.toUpperCase()
student.toLowerCase()
8.student.indexOf(“t”)
9.substring
[) //包含前面,不包含后面
student.substring(1)//从第一个字符串到最后一个字符串
student.substring(1,3)//[1,3)