JavaScript基础知识总结
1、概述:
JavaScript是⽬前web开发中不可缺少的脚本语⾔,js不需要编译即可运⾏,运⾏在客户端,需要通过浏览器来解析执⾏JavaScript代码。
诞⽣于1995年,当时的主要⽬的是验证表单的数据是否合法。
JavaScript本来应该叫Livescript,但是在发布前⼣,想搭上当时超热的java顺风车,临时把名字改为了JavaScript。(也就是说js跟java 没有关系,当时只是想借助java的名⽓)。
js组成部分:
ECMA: Script:构成了JS核⼼的语法基础
BOM:Brower Object Model 浏览器对象模型
DOM: Document Object Model ⽂档对象模型
(1)核⼼(ECMAScript):这⼀部分主要是js的基本语法。
(2)BOM:Brower Object Model(浏览器对象模型),主要是获取浏览器信息或操作浏览器的,例如:浏览器的前进与后退、浏览器弹出提⽰框、浏览器地址栏输⼊⽹址跳转等操作等。
(3)DOM:Document Object Model(⽂档对象模型),此处的⽂档暂且理解为html,html加载到浏览器的内存中,可以使⽤js的DOM技术对内存中的html节点进⾏修改,⽤户从浏览器看到的是js动态修改后的页⾯。(增删改查)
2、特点:
1. 交互性(它可以做的就是信息的动态交互)
2. 安全性(不允许直接访问本地硬盘)
3. 跨平台性(只要是可以解析js的浏览器都可以执⾏,和平台⽆关)
3、和Java区别:
java:需要先编译成字节码⽂件,再执⾏
JavaScript:直译式脚本⽂件
4、作⽤
avaScript 被⽤来改进设计、验证表单、检测浏览器、创建cookies,等等。JavaScript 是因特⽹上最流⾏的脚本语⾔,并且可在所有主要的浏览器中运⾏,⽐如: Internet Explorer、 Maxthon、Mozilla、Firefox、Netscape、Chrome和 Opera等。
在⽬前学习阶段只要记住最常⽤的⼆个:
(1)运态修改html及css代码
(2)验证表单
5、书写位置
5.1、内嵌式:
理论上js可以书写在页⾯的任意位置。
5.2、外链式:
⾸先新建⼀个⽂件类型为.js的⽂件,然后在该⽂件中写js语句,通过script标签对引⼊到html页⾯中。
<script src="js⽂件路径地址">这⾥不能写js语句</script>
5.3、⾏内式:
直接书写在标签⾝上,是⼀个简写的事件,所以⼜称之为事件属性。    onclick单击事件
<input type="button" value="点我呀!" onclick="alert('点我⼲啥!^6^');">
<button onclick="alert('恭喜你,中 500 万.');">点我呀!</button>
6、注释:
单⾏注释:  // 注释语句快捷键ctrl+/
多⾏注释:  /* 注释语句 */    快捷键ctrl+shift+/
注意:多⾏注释相互不能嵌套使⽤,只能在多⾏注释⾥⾯使⽤单⾏注释!
7、数据类型:
Js中的数据类型:
数值型:number(凡是数字都是数值型,不区分整数和⼩数)
字符串:string(凡是引号包裹起来的内容全部都是字符串)
布尔:boolean(true、false)
对象类型:object(特殊取值null)
未定义型:undefined
对⽐java中的数据类型:
整数:byte short int long
⼩数:float double
字符:char
布尔:boolean
字符串:String
8、变量:
8.1、定义:就是存放数据的、内疗可以存储任意数据
8.2、声明变量:
var 变量名称 = 存储的数据;    (variable 变量)
8.3、变量命名规范:
1. 只能由字母、数字、_(下划线)、$(美元符号)组成。
2. 不能以数字开头。
3. 命名中不能出现-(js会理解成减号进⾏减法的操作),不能和关键字冲突。
js是弱类型语⾔,不重视类型的定义,但js会根据为变量赋值的情况⾃定判断该变量是何种类型:数值型:var i = 1; var d = 2.35;
字符串:var str = "⽤⼼学习";
布尔型:var b = true;
对⽐Java:java是强类型的语⾔,注重类型的定义,Java定义类型如下:
整型:int i = 1;
浮点型:double d = 2.35;
字符串:String str = “⽤⼼学习”;
布尔型:boolean b = true;
总结:js中变量的定义。只要加⼀个var就⾏。java则使⽤什么类型的变量就要定义什么类型的。
9、检测数据类型:
typeof(value); 或者typeof value;    返回这个变量的类型.
说明 : 同⼀个变量, 可以进⾏不同类型的数据赋值.
<script type="text/javascript">
var a;
alert(typeof a);  // undefined
a = 998;
alert(typeof a); // number
a = "⽤⼼学习";
alert(typeof a); // string
a = true;
alert(typeof a); // booleanjavascript的特性
</script>
10、算术运算符
+ - * / % ++ --
注意:
1. 由于js中的⼩数和整数都是number类型,不存在类似整数除以整数还是整数的结论。
2. 字符串和其他的数据使⽤+号运算,会连接成⼀个新的字符串。
3. 字符串使⽤除了+以外的运算符:如果字符串本⾝是⼀个数字,那么会⾃动转成number进⾏运算,否则就会返回⼀个NaN的结果,表⽰这不是⼀个数字。Na N:not a number
<script>
alert(1234 / 1000 * 1000); // 1234
var s = "12";
s -= 10;
alert(s);  // 2
var s = "aa";
s -= 10;
alert(s);  // NaN      Not a Number 不是⼀个数字
var s = "12";
s += 10;
alert(s);      // 1210
</script>
11、关系(⽐较)运算符
>  >=  <  <=  !=  ==
等于(只⽐较内容) === 恒等于(⽐较内容的同时还要⽐较数据类型)注意:关系运算符返回的结果只有两个:true / false
<script>
// 请问1 : 3 > 5, 结果为 ?
alert(3 > 5);  // false
// 请问2 : “22” == 22  结果为 ?
alert("22" == 22); // true  (仅仅判断数值)
// 请问3 : “22” === 22  结果为 ?
alert("22" === 22); // false  (恒等于, 数值和类型都要相等)
</script>
12、逻辑运算符
&&  与  true&&false  ====>false
||  或  true||false  ====>true
!⾮  !true    ====>false
false(理解):false,  0,  null,  undefined
true(理解):true, ⾮0,  ⾮null,  ⾮undefined
针对 && 顺⼝溜: 第⼀个出现的假值. (⼀假即假)
针对 || 顺⼝溜: 第⼀个出现的真值. (⼀真即真)
演⽰⼀:
<script>
// 短路与 (⼀假即假)
// ⼝诀 : 第⼀个为假的值.
// 请问1 :  8 < 7 && 3 < 4, 结果为 ?
alert(8 < 7 && 3 < 4);  // false
// 请问2 :  -2 && 6 + 6 && null 结果为 ?
alert(-2 && 6 + 6 && null); // null
// 请问3 :  1 + 1 && 0 && 5  结果为 ?
alert(1 + 1 && 0 && 5); // 0
</script>
演⽰⼆:
<script>
// 短路或 : ⼀真即真.
// ⼝诀 : 第⼀个为真的值.
// 请问1 :  0 || 23 结果为 ?
alert(0 || 23); // 23
// 请问2 :  0 || false || true  结果为 ?
alert(0 || false || true); // true
// 请问3 :  null || 10 < 8 || 10 + 10结果为 ?
alert(null || 10 < 8 || 10 + 10);  // 20
/
/ 请问4 :  null || 10 < 8 || false结果为 ?
alert(null || 10 < 8 || false); // false
</script>
13、三元运算符:
条件?表达式1:表达式2
如果条件为true,返回表达式1的结果
如果条件为false,返回表达式2的结果
演⽰:
<script>
// 请问1 :  3 ? “aaa” : “bbb” 结果为 ?
alert(3 ? "aaa" : "bbb");      // aaa
/
/ 请问2 :  0 ? “ccc” : “ddd”  结果为 ?
alert(0 ? "ccc" : "ddd");      // ddd
</script>
14、if条件语句
这个和Java中if语句⼀样。
演⽰:
<script>
var score = 59;
if (score >= 90) {
alert("优秀");
} else if (score >= 80) {
alert("良好");
} else if (score >= 60) {
alert("及格");
} else {
alert("不及格");
}
</script>
15、switch分⽀结构
这个和java中switch结构⼀样。只是Java中表达式为:常量 整型(去long)、字符、字符串演⽰:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。