JavaScript--学习2
2016-12-16 10:06
330 查看
博客转移到个人站点:http://www.wangchengmeng.club/2018/02/01/JavaScript–%E5%AD%A6%E4%B9%A02/
欢迎来吐槽
/============对象的创建================== ========/
//建立一个空对象
//添加属性 对象访问属性 两种方式
//删除属性
//建立带属性的对象
//使用new关键字
//访问对象的属性
//使用for in循环遍历对象中的属性
/==============Date对象==================/
/===================函数对象=============/
//一切皆对象 在JS中 函数也是对象 还可以自己给函数对象添加属性和方法
//使用构造方式创建函数
/**
* 函数中的属性:
* 1、 length(形式参数个数)
* 2、name(名称)注意只有声明式才有,而且有的浏览器不支持(IE)
* 3、prototype:对象的原型对象
*/
//prototype
/**
* 注意:
* 当前对象、构造函数、构造函数的prototype对象上有同名的函数时,使用当前对象调用该函数,使用该函数的查找顺序为:
当前对象 > 构造函数 > 构造函数的prototype对象
*/
//函数对象中的方法
//常规调用
//常规调用
//函数的闭包
/**
* 闭包 就是为了防止内部变量被修改
*/
/======================类====================/
//JavaScript定义一个类必须采用一个函数定义。该函数是被称为构造函数,该函数的名字被称为类名。
//空类
//创建类的对象
//带参数的类
//创建对象
/===================正则表达式=====================/
/**
* 正则表达式 的匹配规则
* . 表示任意字符
* \d 表示数字字符
* \D 表示非数字字符
* \w 表示任意数字 字母字符
* \W 表示任意非字母 数字字符
* [a-z] 表示从a - z 任意一个字符
* () 括号中的分为一组
* {n} 某个字符出现n次 [a-z]{n} 表示 a-z之间的任意一字符出现n次
* {n.} 至少出现n次
* {n,m} 出现n-m次
* * 出现0或者多次
* +出现一次或者多次
* ?出现0或者一次
*
*/
//创建一个正则对象
//解释:
//方法用途(重点)
//字符串中的match方法 和search方法
/===============操作符====================/
//1、 in
// 创建一个带属性的对象
//2、instanceof
//3、delete 删除某个对象的属性 或者数组的索引
//删除某个对象的属性
//3、typeof 判断属于那种类型
//4、void
欢迎来吐槽
/============对象的创建================== ========/
//建立一个空对象
var mObj = { };
//添加属性 对象访问属性 两种方式
mObj.name = "mike"; mObj["age"] = 20; //给对象添加方法 mObj.say = function () { alert("对象的方法"); };
//删除属性
delete mObj.name; delete mObj["age"];
//建立带属性的对象
var myObj = { "name":"wangchengmeng", "age":18 };
//使用new关键字
var obj = new 类名();
//访问对象的属性
alert(myObj.name+"==="+myObj.age);
//使用for in循环遍历对象中的属性
for(var attr in mObj) { console.log(mObj[attr]); }
/==============Date对象==================/
var date = new Date(); alert(date.toLocaleDateString()); //获取到本地的时间 alert(date.getFullYear()); //获取整个年份 2016 alert(date.getYear()); //获取的 2016 - 1900
/===================函数对象=============/
//一切皆对象 在JS中 函数也是对象 还可以自己给函数对象添加属性和方法
//使用构造方式创建函数
var add = new Function("a","b","return a + b"); add(1, 2);
/**
* 函数中的属性:
* 1、 length(形式参数个数)
* 2、name(名称)注意只有声明式才有,而且有的浏览器不支持(IE)
* 3、prototype:对象的原型对象
*/
//prototype
Programer.prototype.getName = function () { return this.name; } function Programer(name) { this.name = name; } var p1 = new Programer("Android"); var p2 = new Programer("IOS"); p1.getName(); p2.getName(); //p1 p2本身没有定义getName方法,但是都可以访问,说明这两个对象共享 prototype
/**
* 注意:
* 当前对象、构造函数、构造函数的prototype对象上有同名的函数时,使用当前对象调用该函数,使用该函数的查找顺序为:
当前对象 > 构造函数 > 构造函数的prototype对象
*/
//函数对象中的方法
function conect(a,b){ console.log(a+"=="+b); }
//常规调用
window.conect("first","second"); //1、call conect.call(window,"first","second");//window是调用者对象 后面是参数 //2、apply conect.apply(window, ['first', 'second']); //eg 1 var age = 20; //全局变量 var user = { age : 11, //局部变量 首先访问 info:function(name,gender){ alert("name:" + name + "gender:" + gender + "age:" + age); } };
//常规调用
user.info("Joson","girl") user.info.call(user, "mike", "man"); user.info.apply(user, ['mike', 'man']);
//函数的闭包
/**
* 闭包 就是为了防止内部变量被修改
*/
function closePackage() { var i = 0; return function () { i++; return i; } } var result = closePackage(); alert(result()); //1 alert(result()); //2 alert(result()); //3 alert(result()); //4
/======================类====================/
//JavaScript定义一个类必须采用一个函数定义。该函数是被称为构造函数,该函数的名字被称为类名。
//空类
function User() { }
//创建类的对象
var user = new User(); user.name = "holly"; user.getName = function () { return this.name; };
//带参数的类
function getName() { return this.name; } function Car(name,size) { this.name = name; this.size = size; this.getName = getName; }
//创建对象
var car = new Car("BMW","200*400"); car.getName();
/===================正则表达式=====================/
/**
* 正则表达式 的匹配规则
* . 表示任意字符
* \d 表示数字字符
* \D 表示非数字字符
* \w 表示任意数字 字母字符
* \W 表示任意非字母 数字字符
* [a-z] 表示从a - z 任意一个字符
* () 括号中的分为一组
* {n} 某个字符出现n次 [a-z]{n} 表示 a-z之间的任意一字符出现n次
* {n.} 至少出现n次
* {n,m} 出现n-m次
* * 出现0或者多次
* +出现一次或者多次
* ?出现0或者一次
*
*/
//创建一个正则对象
var reg = /\d/ig; var regExp = new RegExp(reg);
//解释:
var reg = new RegExp(pattern,flag); pattern----匹配的规则 flag-----匹配的模式 i(忽略大小写) m(多行查找) g(全文查找) pattern一定在 \ \之间
//方法用途(重点)
RegExp对象 RegExp.test(str); RegExp.exec(str); String对象 String.search(reg) String.match(reg) String.replace(reg,str2) String.split(reg) var url = "http://www.baidu.com"; var regExp = /http:\/\/\w+\.(.*)/; var results = regExp.exec(url); alert(results[1]);
//字符串中的match方法 和search方法
var email = "xiaogemeng123@163.com" var reg = /\.com/; //判断邮箱是否包含.com var matchRes = email.match(reg); alert(matchRes[0]); //匹配到了 第一个值就是.com 没有匹配到 返回 null var searchRes = email.search(reg); //返回的是匹配到了的第一个位置 没有匹配到返回-1 alert(searchRes);
/===============操作符====================/
//1、 in
// 创建一个带属性的对象
var myObject = { start : "yellow", age : 18 }; function isAttributeOfObj() { if("start" in myObject){ //表示 start在myObject对象中属性存在 alert("start is a attribute of myObject"); } } isAttributeOfObj();
//2、instanceof
var time = new Date(); if(time instanceof Date) { // do something }
//3、delete 删除某个对象的属性 或者数组的索引
var deleteArray = ["javascript_1","javascript_2","javascript_3"]; delete deleteArray[0]; //删除第一个索引的值
//删除某个对象的属性
//3、typeof 判断属于那种类型
var star = {}; var numType = typeof(3);//返回number类型 var stringType = typeof("aaa");//返回string类型 var objType = typeof(star); //返回 "object"类型
//4、void
void(window.open()); //弹出一个新的窗口 //比较运算符 == 比较内容 === b比较内容和类型
相关文章推荐
- JavaScript学习 第 七 章
- JavaScript入门学习之一
- javascript与PHP结合的一些学习心得
- JavaScript 的学习记录。
- JavaScript 学习手记
- 学习javascript点滴总结,包括一些常用代码1
- [JavaScript]Object(对象)学习
- [JavaScript]正则表达式学习
- 学习JavaScript的收获
- [笔记]JavaScript学习笔记(2)
- javascript中正则表达式应用学习_search ()
- Javascript学习笔记: Function::apply 方法
- JavaScript学习:基础继承机制
- javascript中正则表达式应用学习_test()
- [笔记]JavaScript学习笔记(1)
- JavaScript学习 第 二 章
- javascript中正则表达式应用学习_match()
- ArcIMS学习之 HTML Viewer定制笔记 续五(5.Javascript纪要)
- JavaScript 学习笔记(二)
- 一些Javascript的学习资料