JavaScript 学习笔记
Javascript的实现是由以下3个不同的部分组成的:
- 核心(ECMAScript)
- 文档对象模型(DOM)Document object model(整合js,css,html)
- 浏览器对象模型(BOM)Broswer object model(整合js和浏览器)
ECMAScript描述了以下内容:
语法、类型、语句、关键字、保留字、运算符、对象
JavaScript的引入方式
1.直接编写 <script> alert('hello') </script> 2.导入文件 <script src='hello.js'></script>
JavaScript基础
一、变量
1.声明变量:
var a=1;
var b=2;
var a=1,b=2;
alert(a)
console.log(b)
document.write(c)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1.如果不加var,那么它是全局变量 2.变量命名,首字母只能是字母,下划线,$美元符 三选一,且区分大小写 3.变量还应遵守以下某条注明的命名规则: Camel 标记法 首字母是小写的,接下来的字母都一大写字符开头。例:var myTestValue = 0 Pascal 标记法 首字母是大写的,接下来的字母都以大写字符开头。例:Var MyTestValue = 0 匈牙利类型标记法 在以Pascal标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。例:i表示整数,s表示字符串 Var iMyTestValue = 0 Var sMyTestValue = "hi"
2.基础规范
每行结束可以不加分号,没有分号会以换行符作为每行的结束
//规范写法 { a=1; b=2; }
3.常量和标识符
常量:直接在程序中出现的数据值
标识符:
① 由不以数字开头的字母、数字、下划线、美元符组成
② 常用于表示函数、变量等的名称
③ 例:_abc,$abc,abc,abc123是标识符,而1abc不是
④ JavaScript语言中代表特定含义的词成为保留字,不允许程序再定义为标识符
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
delete do else false finally for function if in instanceof new null return switch this throw true try typeof var void while with
二、数据类型
1.数字类型(Number)
包括整数与浮点数
2.字符串(String)
<script> var str="\u4f60\u597d\n欢迎来到\"JavaScript世界\""; alert(str); </script>
3.布尔型(Boolean)
Boolean类型只有两个值:true和false,代表0和1,实际运算中true=1,false=0
if (x==1){ y=y+1; }else { y=y-1; }
4.Null & Undefined
Undefined:只有一个值:undefined
① var a 当声明某个变量并未对其赋值,则该变量为Undefined数据类型
② 当函数无明确返回值,返回的值为undefined
Null:只有一个值:Null
null表示尚未存在的对象,如果函数或方法要返回的是对象,那么找不到该对象是,通常返回Null
var person = new Person()
var person = null
5.数据类型转换
① 数字 + 字符串:数字转换为字符串
② 数字 + 布尔值:true转换为1,false转换为0
③ 字符串 + 布尔值:布尔值转换为字符串true或false
5.强制类型转换函数
① parseInt:强制转换成整数,转换失败时为NaN。例:parseInt("6.12")=6
② parseFloat:强制转换成浮点数
③ eval:将字符串强制转换为表达式并返回结果 例:eval("1+1")=2
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
alert(NAN == 0) False alert(NAN > 0) False alert(NAN < 0) False alert(NAN == NAN) False NAN数据在表达式中结果一定为False,除了!=
6.类型查询函数(typeof)
typeof(null)
typeof("test"+3)
三、ECMAScript运算符
1.算数运算符
加(+)、减(-)、乘(*)、除(/)、余数(%)与数学中的运算方法一样
递增(++)、递减(--)
<script> var a=1; var b=a++; //先赋值,后加减 a+=1 == a+=1 alert (b); // 1 alert (a); // 2 </script> <script> var a=1; var b=++a; //后加减,先赋值 a+=1 == a+=1 alert (b); // 2 alert (a); // 2 </script>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var x=1; alert (x++); // 1 alert (++x); // 3 alert (--x); // 2 alert (x--); // 2 alert (x) // 1
一元加减法
<script> var a = 3 var a = "3" var a = "3.2" var a = "123aa" b = +a b = -a alert (b) alert (typeof(b)) </script>
2.逻辑运算符
等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)
与(&&)、或(||)、非(!)
1 && 1 =1 1 && 0 = 0 0 && 0 =0 1 || 1 = 1 1 || 0 = 0 0 || 0 = 0 !0 = 1 !1 = 0
逻辑 AND 运算符(&&)
逻辑 AND 运算的运算数可以是任何类型的,不止是 Boolean 值。
如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值:
如果某个运算数是 null,返回 null。
如果某个运算数是 NaN,返回 NaN。
如果某个运算数是 undefined,返回undefined。
逻辑 OR 运算符(||)
与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值