对象
-
-> js是面向对象的语言
-
-> js中对象是什么:就是键值对
-
-
函数是一等公民。使用
-
var foo = function() {};
-
-
-
键值对,值可以是数字、字符串或布尔类型的数据,好比字段
-
值也可以是函数,好比方法,键就是变量名或函数名
关联数组
-
o.name
-
o.sayHello()
-
在js中支持将对象当作数组使用
-
o["name"]
-
o["sayHello"]()
-
-
-> this
-
-> 在C#中,this表示当前对象(实例)
-
-> js中也是一样
-
构造方法与对象
-
var o1 = {};
-
var o2 = new Object(); // Object的构造方法
-
// js中所有的对象类型"来自于"object
-
-
// 判断变量是否是构造方法创建出来
-
boolean 变量 instanceof 构造方法
-
alert({} instanceof Object);
-
-
-> 什么是构造方法
-
-> 就是普通方法
-
-> 调用的时候使用new就可以将其作为构造方法来使用了
-
-> js没有类,直接使用构造方法创建对象
-
-
-> 实现步骤
-
-> 创建一个函数
-
-> new这个函数
-
-
-> 添加成员
-
在构造方法中使用this.成员进行添加
-
js支持动态成员
-
-> 如果一个对象没有定义Memeber的属性,但是现在希望她有
只需要用"对象.Member=值",那么就可以给这个对象创建该成员了
类型的转换与包装对象
-> 基本类型的转换
-> number、boolean、string
-> 数字->字符串
-> String(数字)
-> 数字+""
-> 数字.toString()
-> 字符串转数字
-> 字符串-0
-> Number(字符串)
-> parseInt() parseFloat()
-> 转boolean
if(!!val) {
}
-> 包装类型
-> 基本类型:number、string、boolean
-> 包装类型:Number、String、Boolean
-> 基本类型不是对象,那么就不具备方法,只是一个简单的数据
-> 在执行诸如"num.toString()"的时候
编译器会自动的根据num生成一个Number类型的对象,并调用toString方法
将结果返回,然后释放Number对象,等待垃圾回收
正则表达式
在javascript中如何创建一个正则表达式
-> 字面值:var regex = /\d+/;
-> 构造函数:var regex = new RegExp("\\d+");
-> 匹配
// bool Regex.IsMatch(字符串, 正则);
// boolen 正则表达式对象.test(字符串);
-> 提取
// 提取使用方法
// 像数组的对象 正则表达式对象.exec(字符串);
// 这个对象的[0]是匹配到的结果
// 这个[1]、[2]、...是各个组
// 在正则后面加上一个g,表示全局模式
// 循环提取使用的方法与刚才是一样的,不同的是需要循环调用exec方法
// 每次方法匹配一个,循环匹配结束后返回null,然后又从新的一轮开始
-> 替换
string <string>.replace(正则表达式或字符串, 替换为的字符串);
理解DOM
<html>
<head>
<title>理解DOM</title>
</head>
<body>
<p>
今天天气<span style="color:red;font-size:30px;">很好</span>,昨天很冷...</p>
</body>
</html>