js面向对象学习笔记】的更多相关文章

重点是this指向问题 <style> .hide{display: none;} #box div,#box1 div{display: none;} .hover{background: #fff666;} </style> <script>// window.onload = function () {// var aParent = document.getElementById('box');// var aInput = aParent.getElement…
1.函数的定义方式 第一种定义方式 function fn1() { alert("fn1"); } alert(fn) 函数就是一个特殊的对象,是一个Function类的实例,其实在内存中存储的操作是通过一个键值对来存储的 由于函数是一个对象,所以可以通过如下方式定义 以下是通过函数的拷贝来完成赋值,两个引用并没有指向同一个对象 var fn2 = fn1; fn2(); // fn1 两个值虽然相等但是指向的是不同的空间. 两者是如下图引用的: 所以,此时改变fn1,fn2的值不会…
//原型:改写对象下面公用的方法或者属性,让公用的方法或者属性在内存中只存在一份(提高性能)//原型:prototype :要写在构造函数的下面var arr =[1,2,3,4,5];var arr2 =[1,2,3,4,5,6,7];//普通对象的写法arr.sum = function () { var na = 0; for(var i=0;i < this.length;i++){ na +=this[i]; } return na;};//原型的的写法Array.prototype.…
//对象的混合写法//1.构造函数function 构造函数() { this.属性}构造函数.原型.方法 = function () {};//调用var 对象1 = new 构造函数();对象1.方法();//示例function Test(name) { this.name = name;}Test.prototype.sayName = function () { return alert(this.name);};//p3,p4就是thisvar p3 = new Test('小明2'…
//工厂方式:封装函数function test(name) { var obj = new Object(); obj.name = name; obj.sayName = function () { alert(this.name); }; //抛出 return obj;}var p1 = test('小明');p1.sayName();var p2 = test('小王');p2.sayName();//优化//创建对象要注意首字母大写//当new去调用一个函数:这个时候函数中的this…
var obj = new Object();//创建一个空对象 obj.name = '小王';//属性 obj.sayName = function () { //对象方法 对象最重要的是this指向 //alert(obj.name); alert(this.name); }; //调用 当前this指向是obj,如果去掉obj 在调用sayName() this指向就是window obj.sayName();…
原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数据属性和访问器属性. 1.数据属性又包含 Configurable //表示能否通过delete删除,默认为true: Enumerable //表示能否通过for-in循环返回属性,默认为true; Writable  //表示能否修改属性的值,默认为true; Value            …
前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script type="text/javascript"> //新建英雄:刘备 var hero=new Object(); hero.name='刘备'; hero.blood=100; hero.weapon='双股剑'; hero.attack=function(){ return th…
#js再学习笔记 ##基本 1.js严格区分大小写   2.js末尾的分号可加,也可不加   3.六种数据类型(使用typeof来检验数据的类型) `typeof` - undefined: `var name;` ------就是已定义未赋值或者未定义而使用**针对变量来说**,占据一个变量的位置而不使用. - boolean-------布尔类型 - string: `var name="zhangsan"; var englishname='tom';` -----字符串类型,单…
原文:JS数组学习笔记 最近在备课数组,发现很多ES5的方法平时很少用到.细节比较多,自己做了大量例子和整理,希望对大家了解JavaScript中的Array有所帮助. 概念 数组是值的有序集合.每个值叫做元素,每个元素在数组中都有数字位置编号,也就是索引.JS中的数组是弱类型的,数组中可以含有不同类型的元素.数组元素甚至可以是对象或其它数组. JS引擎一般会优化数组,按索引访问数组常常比访问一般对象属性明显迅速. 数组长度范围 from 0 to 4,294,967,295(2^23 - 1)…