面向对象的javascript(笔记)
//产生一个数组对象
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 '参数类型不匹配'
}
}
}
相关推荐
-
面向对象的Javascript之三(封装和信息隐藏)
同时,我们知道在面向对象的高级语言中,创建包含私有成员的对象是最基本的特性之一,提供属性和方法对私有成员进行访问来隐藏内部的细节.虽然JS也是面向对象的,但没有内部机制可以直接表明一个成员是公有还是私有的.还是那句话,依靠JS的语言灵活性,我们可以创建公共.私有和特权成员,信息隐藏是我们要实现的目标,而封装是我们实现这个目标的方法.我们还是从一个示例来说明:创建一个类来存储图书数据,并实现可以在网页中显示这些数据. 1. 最简单的是完全暴露对象.使用构造函数创建一个类,其中所有的属性和方法在外部
-
javascript面向对象之Javascript 继承
上几节讲了 JavaScript 面向对象之命名空间 . javascript 面向对象的JavaScript类 . JavaScript 面向对象的之私有成员和公开成员 与 Javascript 面向对象之重载,大家可以先看上面的再继续往下看. 在JavaScript中实现继承可以有多种方法,下面说两种常见的. 一,call 继承,先看代码: 先定义一个"人"类 复制代码 代码如下: //人类 Person=function(){ this.name="草泥马";
-
面向对象的javascript(笔记)
一.引用 复制代码 代码如下: //产生一个数组对象 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'; //此时
-
面向对象的Javascript之一(初识Javascript)
1. Javascript最大的特性在于其灵活性.作为一名前端开发人员,既可以采用函数式的编程风格,也可以采用更复杂一点的面向对象的编程风格.不管你采用哪种风格,都可以完成一些非常有用的任务.因而,Javascript是一门面向过程的语言,同时也是一门面向对象的语言,进而可以模仿面向对象语言的编程模式和惯用法.我们用一个例子来说明:启动和停止动画. 如果你习惯于函数式的编程风格,代码会如下: 复制代码 代码如下: function startAnimation() { //启用动画 } func
-
javascript 面向对象的JavaScript类
在上一节面 JavaScript 面向对象之命名空间 中说了怎么定义JavaScript命名空间,这一节来说下紧接着的一个概念--类.虽然JavaScript中没有class关键字,但作为开发人员我们一定要有这个思想.在C#中类可以分为实例类和静态类,JavaScript亦然. 一,定义实例类: 在上节中我定义了一个cnblogs.news的命名空间,现在就在此命名空间下定义一个名为Article类: 复制代码 代码如下: cnblogs.news.Article=function(){ var
-
全面理解面向对象的 JavaScript(来自ibm)
当今 JavaScript 大行其道,各种应用对其依赖日深.web 程序员已逐渐习惯使用各种优秀的 JavaScript 框架快速开发 Web 应用,从而忽略了对原生 JavaScript 的学习和深入理解.所以,经常出现的情况是,很多做了多年 JS 开发的程序员对闭包.函数式编程.原型总是说不清道不明,即使使用了框架,其代码组织也非常糟糕.这都是对原生 JavaScript 语言特性理解不够的表现.要掌握好 JavaScript,首先一点是必须摒弃一些其他高级语言如 Java.C# 等类式面向
-
学习javascript面向对象 理解javascript对象
一.编程思想 面向过程:以过程为中心,自顶向下逐步细化,程序看成一系列函数调用的集合 面向对象:对象作为程序的基本单元,程序分解为数据和相关操作 二.类.对象 类:对具有相同特性和特征事物的抽象描述 对象:某种类型对应的具体事物 三.面向对象的三大特性 封装:隐藏实现细节,实现代码模块化 继承:扩展已存在的代码模块,实现代码重用 多态:接口的不同实现方式,实现接口重用 四.对象定义:无序属性的集合,其属性可以包含基本值.对象或者函数 //简单的对象实例 var person = new Obj
-
面向对象的Javascript之二(接口实现介绍)
就足以说明接口在面向对象的领域中有多重要.但JS却不像其他面向对象的高级语言(C#,Java,C++等)拥有内建的接口机制,以确定一组对象和另一组对象包含相似的的特性.所幸的是JS拥有强大的灵活性(我在上文已谈过),这使得模仿接口特性又变得非常简单.那么到底是接口呢? 接口,为一些具有相似行为的类之间(可能为同一种类型,也可能为不同类型)提供统一的方法定义,使这些类之间能够很好的实现通信. 那使用接口到底有哪些好处呢?简单地说,可提高系统相似模块的重用性,使得不同类的通信更加稳固.一旦实现接口,
-
编写可维护面向对象的JavaScript代码[翻译]
Writing maintainable Object-Oriented (OO) JavaScript will save you money and make you popular. Don't believe me? Odds are that either you or someone else will come back and work with your code. Making that as painless an experience as possible will s
-
Javascript笔记一 js以及json基础使用说明
JavaScript中的代码只体现为一种形式,就是function. 注意:以上单词都是小写的,不要和Number, String, Object, Function等JavaScript内置函数混淆,JavaScript语言是区分大小写. typeof(null)返回object,但null并非object. JavaScript的代码就只有function一种形式,function就是函数的类型.函数的写法有"定义式"和"变量式". 定义式的函数语句会优先执行.
随机推荐
- windows server 2008 登录过程中显示历史登录信息
- Vim中宏命令的使用实例详解
- 详解IOS 单例的两种方式
- python中实现定制类的特殊方法总结
- asp.net textarea换行函数代码
- 详解ASP.NET提取多层嵌套json数据的方法
- 一步一步学习PHP(7) php 字符串相关应用
- 简单谈谈C++ 头文件系列之(algorithm)
- jQuery中:empty选择器用法实例
- JavaScript 高效运行代码分析
- Linux基础知识99问(二)
- 通用病毒杀灭机1.0正式版发布 提供下载了
- Java操作Ant压缩和解压文件及批量打包Anroid应用
- java设计模式学习之代理模式
- 如何在PHP中使用Oracle数据库(5)
- 15分钟学会vbscript中的正则表达式
- python方法生成txt标签文件的实例代码
- Java实现的上传并压缩图片功能【可等比例压缩或原尺寸压缩】
- mysql-8.0.15-winx64 使用zip包进行安装及服务启动后立即关闭问题
- Android自定义View的使用及其原理知识点总结