入门
1.什么是javaScript
- javaScript是世界上最流行的脚本语言
- 一个合格的后端人员,必须要精通javaScript
- ECMAScript可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展
- 最新版本已经到es6版本,但大部分浏览器只停留在支持es5代码上,导致开发环境和线上环境版本不一致
2.快速入门
2.1 引入javaScript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--内部标签使用script,可以在任何位置-->
<script>
alert("hello,javaScript");
</script>
<!--外部引入script-->
<!--注意:script标签必须成对出现-->
<script src="js/hello.js"></script>
</head>
<body>
</body>
</html>
2.2 输出
-
JavaScript 可以通过不同的方式来输出数据:
-
使用 window.alert() 弹出警告框。
alert("hello,javaScript");
-
使用 document.write() 方法将内容写到 HTML 文档中。
document.write("hello");
-
使用 innerHTML 写入到 HTML 元素。
<p id="demo">我的第一个段落</p> <script> document.getElementById("demo").innerHTML = "段落已修改。"; </script>
-
使用 console.log() 写入到浏览器的控制台。
console.log(c);
-
2.3 注释
-
单行注释以 // 开头。
//浏览器的控制台输出 console.log(c);
-
多行注释以 /* 开始,以 */ 结尾。
/* */
3.变量
-
变量是用于存储信息的"容器"。
//1定义变量 变量类型 变量名 = 变量值 var a =0;
-
命名规范
- 变量必须以字母开头
- 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
- 变量名称对大小写敏感
-
数据类型
- JavaScript 变量还能保存其他数据类型,比如文本值 (name=“Bill Gates”)。
- 在 JavaScript 中,类似 “Bill Gates” 这样一条文本被称为字符串。
- JavaScript 变量有很多种类型,但是现在,我们只关注数字和字符串。
- 当您向变量分配文本值时,应该用双引号或单引号包围这个值。
- 当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
- 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
- 引用数据类型:对象(Object)、数组(Array)、函数(Function)
- 所有数据类型都可以用var定义
-
声明(创建) JavaScript 变量
- 在 JavaScript 中创建变量通常称为"声明"变量。我们使用 var 关键词来声明变量:
- 您可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:
4.关键字
abstract | else | instanceof | super |
---|---|---|---|
boolean | enum | int | switch |
break | export | interface | synchronized |
byte | extends | let | this |
case | false | long | throw |
catch | final | native | throws |
char | finally | new | transient |
class | float | null | true |
const | for | package | try |
continue | function | private | typeof |
debugger | goto | protected | var |
default | if | public | void |
delete | implements | return | volatile |
do | import | short | while |
double | in | static | with |
5.运算符
-
算术运算符
+ - * / %
-
逻辑运算符
&& 与 || 或 ! 非
-
条件运算符
> < >= <= == !=
-
赋值运算符
=
-
位运算符
>> <<
-
三目运算符
? :
6.使用浏览器控制台
页面->鼠标右键->检查->Console
- Elements:审查元素
- console:控制台
- sources:源码,可以打断点调试
- network:查看网页请求和响应
- Application:可以存数据
7.数据类型
- 数字类型(number)
js不区分小数和整数
123;//整数
123.11;//浮点数
1.256e4;//科学计数
-11;//负数
NaN;//not a number
Infinity;//表示无限大
-
字符串类型
"aaa"
-
布尔值
true; false;
-
逻辑运算
&& 两个都为真,结果为真 || 一个为真,结果为真 ! 非真即假,非假即真
-
比较运算符
= 赋值 == 等于(类型不一样,值一样,结果为true) === 绝对等于(类型和值都一样,结果为true)
这是一个js的缺陷,坚持不要使用==比较
须知:
- NaN===NaN,这个与所有的数值都不相等,包括自己
- 只能通过isNaN(NaN)来判断这个数是否NaN
-
浮点数问题
console.log((1/3)===(1-2/3));//false
尽量避免使用浮点数进行运算,存在精度问题
-
null和undefined的区别
- null 空
- undefined 未定义
-
数组
-
java的数组必须是一系列相同类型的对象,js不需要这样
//保证代码的可读性,尽量使用[] var arr = [1,78,4,'hello',null,true]; new Array(1,12,4,85,'hello');
-
取数组下标,如果越界了,就会
undefined
-
-
对象
-
对象是大括号.数组是中括号
//Person person = new Person(1,2,3); var person = { name : "wuming", age : 18, tags : ['js','java','web','spring','...'] }
-
每个属性之间使用逗号隔开,最后一个不需要添加
-
取对象的值
person.name > "wuming" person.age > 18
-
8.严格检查模式
-
前提:Idea需要支持ES6语法
-
‘use strict’;严格检查模式,预防javaScript的随意性导致产生的一些问题,必须写在javaScript第一行
-
局部变量建议使用let定义
<script> 'use strict'; let i = 1; </script>
9.字符串
-
正常的字符串我们使用单引号或者双引号包裹
-
注意转义字符
\' \n \t \u4e2d \u#### Unicode字符 \x41 Ascll字符
-
多行字符串编写
//tab 上面esc键下面 var msg = `hello world 你好ya 你好`
-
模板字符串
let name = "无名"; let age = 18; let msg = `你好呀,${name}`
-
字符串长度
str.length
-
字符串的可变性,不可变
-
大小写转换
//注意,这里是方法,不是属性了 student.toUpperCase() student.toLowerCase()
-
字符串截取
str.substring(1, 2);//包含第一个,不包含第二个
-
字符串替换
student.replace('u','m');
-
查找字符的位置
student.indexOf("s")
-
字符串分割
sttudent.split(" ");
-
字符串拼接
String names[] = {"20","09","15"}; //将数组的值以"-"字符拼接 String str1 = String.join("-", names); System.out.println(str1);//20-09-15
-
返回字符串索引的字符
student.charAt(2)