《JavaScipt权威指南》学习笔记
来源:互联网 发布:淘宝不能买烟吗 编辑:程序博客网 时间:2024/05/22 14:27
1.数据类型—— 原始类型(不可变类型): 数字(10和16进制), 字符串, 布尔值, 特殊原始值:undefined(未定义),null(空) 对象(可变类型):属性的无序集合 Math, JSON, location, localStorage 普通函数: parseInt(), isNaN(), alert() 构造函数: 数组类(Array) 函数类(Function) 日期类(Date) 正则类(RegExp) 错误类(Error) 字符类(String) 对象类(Object)2.变量—— 垃圾回收机制,不分类型 函数作用域:只要在函数内任意位置出现过声明(所以函数变量声明最好统一到开头) 因为变量声明和子函数会被提到函数最开头执行 全局作用域:未曾出现过声明则会一层层引用上一个函数作用域的变量,一直到全局对象3.全局对象:window,this(类型:global)4.构造函数: function fun () { this.a = "1"; this.b = function() {}; } //静态变量和静态函数,其实就是给变量fun赋属性 fun.c = "2"; fun.d = function() {};5.函数定义方式: function a() {} —— 默认在顶部创建变量a,赋予此函数。手动创建变量a会覆盖,使原方法不能用。 var a = function() {} —— 函数表达式,右边是匿名函数,先定义后使用 var c = a; —— 将变量a赋给变量c,调用c()同样可以执行6.创建对象: new构造函数, 普通对象 {} = new Object(), 数组对象 [] = new Array() 设置对象属性和方法: 在构造器中:this.a = "1"; this.b = function() {}; 在对象中:object.a/object["a"]="1"; object.b = function() {}; 获取对象属性和方法 object.a/object["a"]; object.b()7.常用运算符 typeof:返回类型字符串,对于对象都返回Object instanceof:判断类型,返回布尔值 eval():参数不是字符串则返回参数,否则执行字符串,返回执行结果 可以eval("({a:1,b:2})")将json字符串转成json对象 delete:删除属性 in:检测属性是否存在(包括继承的属性) for/in:遍历对象可枚举的属性或数组的成员;会遍历自身的属性,方法,以及继承的属性 JSON.stringify():将对象可枚举的自身属性转为字符串8.存取器属性 var a = { aa:1, get cc() { return this.aa; }, set cc(value) { this.aa = value; } }; a.cc = 4; alert(a.cc);//返回48.属性的特性 hasOwnProperty():检测自身属性是否存在 propertyIsEnumerable():检测自身是否属性且可枚举的 Object.keys(对象):返回对象的可枚举的自身属性名称的数组 Object.getOwnPropertyNames(对象):返回对象所有的自身属性名称的数组 Object.defineProperty(b,"aa",{value:2, writable:true, enumerable:false, configurable:true}) :设置对象属性特性 Object.getOwnPropertyDescriptor(b,"aa"):返回对象自身属性的特性的描述,包括value(值),writable(可写性),enumerable(可枚举性),configurable(可配置性) 不可配置详解: (1)不能编辑可配置性和可枚举性,可将可写性设为false (2)数据属性和存取器属性不能相互转换,存取器属性不能更改setter和getter方法 (3)属性不能删除6.对象的原型属性 每个对象都从原型对象继承属性,根原型对象就是Object.prototype 指定原型: Object.create(原型) 为构造函数指定原型属性prototype 获取原型: Object.getProtorypeOf(对象); 检查原型: 原型.isPrototypeOf(对象)7.对象的类属性 Object.prototype.toString.call(对象):获取类属性8.对象的可拓展性:是否可以添加新属性 判断是否可拓展:Object.esExtensible(对象)——(删改查) 设置为不可拓展:Object.preventExtensions(对象),设置后不可逆转,仍会继承给原型的新属性 判断是否封闭:Object.isSealed(对象)——(改查) 设置为封闭:Object.seal(对象),属性不可拓展,不可配置。不能解封 判断是否冻结:Ojbect.isFrozen(对象)——(查) 设置为冻结:Object.freeze(对象),属性不可拓展不可配置,数据属性为只读7.数组 创建数组:[1,2],new Array(),new Array(1),new Array(1,2) 添加元素:push(),unshift() 删除元素:pop(),shift() 数组的方法: join() 以参数作为分隔符,将数组转为字符串 reverse() 将数组中的元素颠倒顺序 concat([1,2]) 连接2个数组,返回一个新数组 slice(0,3) 返回一个子数组 splice(a,b,c,d) a:操作的位置,b:删除的个数,c,d:插入的元素 返回被删掉的元素组成的数组 indexOf() 具有给定值的元素的索引 lastIndexOf() 具有给定值的最后一个元素的索引
阅读全文
0 0
- 《JavaScipt权威指南》学习笔记
- 《Tomcat权威指南》学习笔记
- 《Tomcat权威指南》学习笔记
- jquery权威指南学习笔记
- javascript权威指南学习笔记
- javascript权威指南学习笔记
- mysql权威指南学习笔记
- ###JavaScript权威指南学习笔记:
- 《hadoop权威指南》学习笔记
- 《hadoop权威指南》学习笔记
- js权威指南学习笔记
- css权威指南学习笔记
- Ubuntu权威指南学习笔记
- jQuery权威指南 学习笔记
- HTTP权威指南学习笔记
- HTTP权威指南学习笔记
- 《HTTP权威指南》学习笔记
- HTTP权威指南学习笔记
- HTMLTestRunner 改良版 py2
- 业余时间决定你的人生
- HDU6098 Inversion
- android apk反编译
- eclipse环境下maven web项目热部署到tomcat
- 《JavaScipt权威指南》学习笔记
- 二叉树的前序、中序、后序遍历Java实现
- Unity3D+SQLite的使用
- IP分片浅析
- 软考须知
- 2003-矩阵乘法
- Apache服务的工作原理
- 【Oculus】Unity含有Oculus 项目导入后黑屏
- SES数据提取工具v1.0