JavaScript 一、简介 概念:客户端脚本语言 运行在客户端浏览器中的,每个浏览器都有解析引擎 脚本语音不需要编译,可以直接被浏览器解析执行 功能:可以来增强用户和html页面的交互过程,可以控制html元素,可以展示动态页面,增强用户体验 组成:JS=ECMAscript(语法)+DOM(文本对象)+BOM(浏览器对象):BOM与DOM是语言自己特有的 ECMAScript:客户端脚本语言的标准 1、基本语法 (1) 与html结合方式 内部JS <Script> 语句</Script> 外部JS 定义<script>通过src属性引入外部的js文件 ps:JS可以放在任意位置,但是会影响加载的顺序,若要控制html应在要控制的语句后面 JS语句可以定义多个 (2) 注释 同Java,无文档注释 (3) 数据类型 1. 原始数据类型(基本数据类型) number:数字 整数、小鼠、NaN(Not a Number) string:字符串 单双引皆可 boolean:布尔 true、false null:一个为空的占位符 undefined:未定义 若变量未初始化(未赋值),则被定义为此类型 2. 引用数据类型:对象 (4) 变量 一小块存储数据的内存空间 Java是一个强类型语言,JavaScript是一个弱类型语言 ,可以存放任意类型 强类型:在开辟变量存储空间是,定义了空间将来存储的数据类型,只能存定义的数据类型 弱类型:在开辟变量存储空间是,不定义空间将来存储的数据类型,能存任意类型数据 语法: var a = ; 输出:document.write(输出到body);alert(弹窗); typeof(变量名):获得变量的数据类型 (5) 运算符 1. 一元运算符:只有一个算数的运算符++ -- + -(正负号): 正号可以把其他类型转为number 在JS中如果运算数不是运算符要求的类型,那么JS会将运算数进行类型转换 string转number:按字面值转换若字面值不是数字则转为NaN boolean转number:true为1,false为0 2. 算术运算符:+ - * / % 3. 赋值运算符:= += -= 4. 比较运算符:===(全等于) > < >= <= == 类型相同:直接比较 字符串:按照字典顺序比较。按位注意比较,直到得出大小为止 类型不同:先进行类型转换,再比较 === :全等于,比较之前先判断类型,若类型不一样直接返回false 5. 逻辑运算符:&& || ! 其他类型转boolean number:非0为真,0或NaN为假 string:除了空字符串””都是true null&&undefined:false 对象:赋值(非null或undefined)即为真 6. 三元运算符:? : (6) 流程控制语句 switch 在Java中可以接收:byte、int\short\char\枚举\string 在JS中可以接收任意原始类型数据 if…else… while do…while for (7) 特殊语法(不推荐使用) 语句以分号结尾,若一行只有一条语句,则可以省略分号 变量使用var定义为局部变量,也可以不用var定义为成员变量
2、基本对象 (1) Function:函数(方法)对象 创建 1、functio 方法名称(形参列表){方法体} 2、var 方法名 = function(形参列表){方法体} 3、var fun = new Function(形式参数列表,方法体); 方法 属性 length:形参个数 特点 方法定义时,形参类型不写 方法是一个对象,定义同名方法,新方法会覆盖旧的方法 没有方法重载,只要同名就会覆盖 在方法声明中有一个隐藏的内置对象arguments,用以接收所有的实际参数的数组 调用 方法名(实际参数列表); (2) Array 创建 1 var arr = new Array(元素列表) 2 var arr = new Array(默认长度) 3 var arr = [元素列表] 方法 join():将数组中的元素按照指定的参数分割 push():在末尾添加一个元素 属性 length:数组长度 特点 元素类型可变 数组的长度可变 (3) Date 创建 var fate = new Date() 方法 toLocaleString():返回对应的本地字符串格式 getTime():获取毫秒值 (4) Math 创建 Math。方法名 方法 random():随机数 ceil():向上取整 floor():向下取整 round():四舍五入 属性 PI (5) RegExp:正则表达式 1. 正则表达式:定义字符串的组成规则 1.单个字符:[] 例[a] [ab] [a-zA-Z0-9_] 特殊符号代表特殊含义的单个字符 \d单个数字字符 \w单个单词字符 2.量词符号: * 表示出现0次或多次 ? 表示出现0次或1次 + 表示出现1次或多次 {m,n} 表示数量>=m 且 <=n ,m和n都可以缺省 3.开始结束符号 ^ ………… $ 注意:如果不加,只有一部分满足也会返回true 2. 正则对象 创建 var reg = new RegExp(“正则表达式”) var reg = new /正则表达式/ 方法 字符串可以用match(字符串 , regexp) (6) Global 1 特点:全局对象,这个对象中封装的方法不需要对象就可以直接调用 2 方法: encodeURI():url编码 decodeURI():url解码 encodeURIComponent():url编码,编码的字符更多 decodeURIComponent():url解码 parseInt():将字符串转为数字 注意判断每一个字符是否为数字,直到不是数字,将之前部分转为number 若一开始不是数字转为NaN isNaN(): NaN六亲不认,疯起来自己都不认。与所有比较都是false eval():将JS字符串转为JS代码,并把它作为脚本代码执行 3 URL编码 将字符的二进制编码换为16进制 4 用法 w3school
|