JavaScript 01
目录
一、JavaScript概述
1. 概述
1.1 JavaScript概念:一门客户端脚本语言;
1.2 存在位置:运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎;
1.3 脚本语言:不需要进行编译,能直接被浏览器解析执行;
1.4 功能:增强用户和HTML页面的交互过程,可以用于控制HTML元素,是页面有一些动态的效果,增强用户的体验;
1.5 实质:JavaScript = ECMAScript + JavaScript特有的东西(BOM + DOM);(ECMAScript:客户端脚本语言的标准)
2. 基本语法、注释
2.1 与HTML结合方式:
① 内部JS:定义<script>,标签体内容就是JS代码;
通过 alert(" ");
② 外部JS:定义<script>,通过src属性引入外部的JS文件;
2.2 注意:
① <script>可以定义在HTML页面的任何地方,但定义的位置不同会影响执行的顺序;
② <script>可以定义多个;
2.3 注释:
① 单行注释:// 注释内容;
② 多行注释:/* 注释内容 */;
3. 数据类型
3.1 数据类型分为:原始数据类型、引用数据类型;
3.2 原始数据类型:
- number:数字,整数/小数/NaN(不是一个数字的数字类型:not a number);
- string:字符串,"abc",'a';
- boolean:布尔类型,true和false;
- null:一个对象为空的占位符;
- undefined:未定义;(如果一个变量没有赋予初始化值,则会被默认赋值为undefined);
3.3 引用数据类型:对象;
4. 变量
4.1 变量:一小块存储数据的内容空间;
4.2 Java语言为强类型语言,JavaScript语言为弱类型语言;
① 强类型:在开辟变量存储空间时,定义了空间将来存储的数据的数据类型,只能存储固定类型的数据;
② 弱类型:在开辟变量存储空间时,不定义空间将来存储的数据的数据类型,可以存储任意类型的数据;
4.3 语法:
var 变量名 = 初始化值;
4.4 使用:
<script>
var num = 1;
var undefined = undefined;
var flag = true;
document.writeln(num + "<br>");
document.writeln(undefined + "<br>");
document.writeln(flag + "<br>");
</script>
4.5 typeof 的使用:typeof:获取变量的类型;
<script>
var num = 1;
var undefined = undefined;
var flag = true;
document.writeln(num + "——" + typeof(num) + "<br>");
document.writeln(undefined + "——" + typeof(undefined) + "<br>");
document.writeln(flag + "——" + typeof(flag) + "<br>");
</script>
注:null 运算后得到的是object;
5. 运算符
(在JavaScript中,如果运算数不是运算符所要求的类型,那么JavaScript引擎会自动的将运算数进行类型转换)
5.1 一元运算符:只有一个运算数的运算符;
++,--:自增、自减;
++、--:在前,先自增(自减),再运算;在后,先运算,再自增(自减);
5.2 算数运算符:+、-、%、/、*........
除(/):与java不同,JavaScript中的除法
5.3 赋值运算符:=、+=、-=、/=.......
5.4 比较运算符: >、<、>=、<=、==、===(全等于);
比较方式:
① 类型相同,直接比较;
② 类型不同,先进行类型转换,再比较;
(字符串:按照字典顺序进行比较,按位逐一比较)
③ === :全等于;在比较前先进行类型判断,如果类型不一样直接返回 false;
5.5 逻辑运算符:&&、||、!;
① &&:与,短路;
② ||:或,短路;
③ !:非;
5.6 三元运算符: 表达式 ?结果1 :结果2;(与java运算一致)
5.7 转换类型:
其他类型转number:(利用 + )
① string 转 number:按照字面值转换,如果字面值不是数字,则转为NaN;
② boolean 转 number:true转为1,false转为0;
var string = +"123";
var string1 = +"sehun";
document.writeln(typeof(string) + "<br>");
document.writeln(string + "<br>" );
document.writeln(typeof(string1) + "<br>");
document.writeln(string1 + 1 + "<br>" );
var flag = + true;
var flag1 = + false;
document.writeln(typeof(flag) + "<br>");
document.writeln(flag + "<br>" );
document.writeln(typeof(flag1) + "<br>");
document.writeln(flag1 + "<br>" );
其他类型转boolean:(运用 !!)
① number:0或NaN为假,其他为真;
② string:除了空字符,其他的都为true;
③ null 和 undefined:都为false;
④ 对象:所有对象都为true;
var num = 3;
var num1 = NaN;
var string = "ssss";
var undefined = undefined;
document.writeln(!! num + "<br>");
document.writeln(!! num1 + "<br>" );
document.writeln(!! string + "<br>" );
document.writeln(!! undefined + "<br>" );
6. 特殊语法
6.1 语句以分号结尾,当一行只有一条语句时可以省略分号;(后者不建议使用)
6.2 变量的定义可以使用 var关键字,也可以不使用;(后者不建议使用)
使用 var 定义为局部变量,不使用 var 则为全局变量;
a = 3;
alert(a);