面向对象的javascript(笔记)_js面向对象

一、引用

复制代码 代码如下:

//产生一个数组对象
var items = new Array('1','2','3');
//使一个引用指向该对象
var itemRef = items;
items.push('4');
//items 与 itemRef指向同一对象
alert(items.length === itemRef.length);

// 修改对象会产生一个新对象
var item = 'test';
var itemRef = item;
item+='ing';
//此时item和itemRef不再指向同一个对象
alert(item != itemRef);

二、判断传入参数的数量及类型

复制代码 代码如下:

//arguments 能用了判断函数参数的个数
function sendMessage(msg,obj){
if(arguments.length ==2)
obj.handleMsg(msg);
else
alert(msg);
}

判断类型可以使用typeof和javascript对象的constructor属性

复制代码 代码如下:

//typeof能用一个字符串表达变量的类型名
//判断一个变量num是否是string 类型
if(typeof num == 'string')
//但是typeof对都是object array类型不能区分

//利用constructor 判读num是否是String类型
if(num.constructor == String)
if(num.constructor == Array)

//该函数判断一个函数的变量的长度和变量类型
function strict(types,args){
if(types.length != args.length){
throw "参数个数无效";
}
for(var i=0; i<args.length; i++){
if(args[i].constructor != types[i]){
throw '参数类型不匹配'
}
}
}

时间: 2024-09-20 05:44:09

面向对象的javascript(笔记)_js面向对象的相关文章

javascript面向对象之Javascript 继承_js面向对象

上几节讲了 JavaScript 面向对象之命名空间 . javascript 面向对象的JavaScript类 . JavaScript 面向对象的之私有成员和公开成员 与 Javascript 面向对象之重载,大家可以先看上面的再继续往下看. 在JavaScript中实现继承可以有多种方法,下面说两种常见的. 一,call 继承,先看代码: 先定义一个"人"类 复制代码 代码如下: //人类 Person=function(){ this.name="草泥马";

javascript 面向对象的JavaScript类_js面向对象

在上一节面 JavaScript 面向对象之命名空间 中说了怎么定义JavaScript命名空间,这一节来说下紧接着的一个概念--类.虽然JavaScript中没有class关键字,但作为开发人员我们一定要有这个思想.在C#中类可以分为实例类和静态类,JavaScript亦然. 一,定义实例类: 在上节中我定义了一个cnblogs.news的命名空间,现在就在此命名空间下定义一个名为Article类: 复制代码 代码如下: cnblogs.news.Article=function(){ var

javascript面向对象之二 命名空间_js面向对象

最简单创建命名空间的方法: 复制代码 代码如下: var java = {}; java.util = {}; //这样就创建成功了命名空间:java.util //我们可以在java.util下面加类(函数),属性,或对象 java.util.HashMap = function() { this.ShowMessage = function() { alert("java.util.HashMap"); } } var map = new java.util.HashMap();

javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)_js面向对象

关于javascript中类的继承可以参考阮一峰的Blog<Javascript继承机制的设计思想>,说的很透. 一.在javascript中实例化遇到的问题: 下面用<javascript高级程序设计>中的例子来做说明,假如现在定义了一个car的对象,它是Object类的实例.像下面这样的: 复制代码 代码如下: var oCar=new Object(); oCar.color = "red"; oCar.doors = 4; oCar.mpg = 23;

从面试题学习Javascript 面向对象(创建对象)_js面向对象

题目: 复制代码 代码如下: try{ var me = Man({ fullname: "小红" }); var she = new Man({ fullname: "小红" }); console.group(); console.info("我的名字是:" + me.attr("fullname") + "\n我的性别是:" + me.attr("gender")); consol

javascript 面向对象编程基础 多态_js面向对象

Javascript已经可以模拟出面向对象的封装和继承特性,但是不幸的是Javascript对多态特性的支持非常弱!其它面向对象语言的多态一般都由方法重载和虚方法来实现多态,Javascript也通过这两种途径来实现! 重载:由于Javascript是弱类型的语言,而且又支持可变参数,当我们定义重载方法的时候,解释器无法通过参数类型和参数个数来区分不同的重载方法,因此方法重载是不被支持的!当先后定义了同名的方法的时候,后定义的方法会覆盖先定义的方法! 既然解释器无法分辨重载方法,那就手动区分不同

[推荐]javascript 面向对象技术基础教程_js面向对象

结果呢,看了大半天,有了一个大概的了解,细细一回味,好像什么都没懂... 这篇文章是参考<<javascript-the definitive guide,5th edition>>第7,8,9章而写成的,我也 会尽量按照原书的结构来说明javascript的面向对象技术(对象/数组->函数-->类/构造函数/原型).对一些我自己也拿捏不准的地方,我会附上原文的英文语句,供大家参考. 如果不做说明,则文中出现的所有英文语句(程序体除外)都是引自<<javas

javascript面向对象之一 定义类_js面向对象

javascript中的类是用函数function表示的,如下: 复制代码 代码如下: function Student() { //定义类Student中的字段,并赋予初值,但此字段的访问权限是public this.studentNo = 's001'; this.studentName = '小明'; this.sex = '男'; //定义类Student中的方法updateStudentName ,用于修改studentName 值 this.updateStudentName = f

JS继承 笔记_js面向对象

JS继承 JavaScript中没有类的概念,与类相关的继承的概念更是无从谈起,但是我们可以通过特殊的语法来 模拟面向对象语言中的继承. 在JS中模拟继承有多种方式,其中寄生组合模式是一种比较容易简单的模拟继承模式,下面我们就来 介绍一下用寄生组合模式模拟继承. JS的继承包括属性的继承和方法的继承,他们分别通过不同的方法来实现. 1属性的继承 属性的继承通过改变函数的执行环境来实现的.而改变函数的执行环境可以使用call()和apply()两种 方法来实现. 我们首先创建一个Animal"类&

一实用的实现table排序的Javascript类库_js面向对象

 一个Javascript 的类库,用于table内容排序.使用很方便,不用每次都去调用数据库了. 特别适合多表查询的排序.加上<tbody>的style.display 切换,也可以实现分页. 效果演示 用法: 1.添加JS <SCRIPT src="sorttable.js" type="text/javascript"></SCRIPT> 2.添加TABLE,注意的是:一定要有ID,class为"sortable&