JavaScript的OO编程--1.js的特性
至于javascript历史,dom模型...什么的这里就不介绍了,有兴趣的朋友可以上网搜一搜,这里主要通过示例来讲解javascript的OO方式的使用。
这里给出的是最简单也是比较实用的例子
function add(aa)
{
//判断传入参数的个数
if(1 == arguments.length)
{
alert(arguments[0] + 1);
}
else if(2 == arguments.length)
{
alert(arguments[0] + arguments[1] + 1);
}
}
add(1); //2
add(1,2); //仍然可以 4
//返回定义时的参数个数
alert(add.length); //1
对于方法的参数传递可以通过参数直接取得,也可在方法内部可以通过arguments[i](i是从0开始的)取得。
js中函数都隐含一个对象叫arguments,该arguments是一个数组,通过arguments可以获得到实际传递参数的个数及实际传递参数的值
每个函数的名字都有一个属性叫length,“属性名.length ”获得该函数能接受参数的个数。
var obj = "hello";
alert(typeof obj);
显示对象s的类型
function test()
{
//alert("aa");
alert("bb");
return;
}
alert(test());//undefined
alert(test);
显示出test方法的代码,对于函数来说,如果其不返回值,那么其返回值就为undefined
alert(undefined == null);
返回为true,null与undefined的关系,undefined实际上从null派生而来
function test()
{
obj = "hello";
var obj2 = "hello";
}
test();
alert(obj);
alert(obj2);
如果在方法体内不用var定义变量,则变量的作用域是全局的,不会被释放,强烈建议要用var在方法体内定义。
var str = String("aaa");
alert(typeof str);//string
var obj = new String("aaa");
alert(typeof obj);//object
var obj = new Number(100);
alert(typeof obj);//object
采用new方法声明将产生类型是object
var o = new Object();
alert(o.propertyIsEnumerable("prototype"));//false
propertyIsEnumerable("prototype")用来判断该属性是否可以枚举,有此可知prototype是不能枚举的
prototype是对该对象的原型引用,非常重要后面会详细讲解
for(var temp in window)
{
alert(temp);
}
迭代出window对象的全部属性和方法,当然prototype等是不能被迭代的。
//定义对象
var obj = new Object();
//定义属性并赋值
obj.name = "llying";
alert(obj.name);
//删除属性
delete o.name;
//因为删除了,所以显示没有定义
alert(obj.name);
上面就是我们自己定义的第一个对象
分享到:
相关推荐
标题中的“prototypal-oo-js-object-oriented-constructor-functions-lab-onlin”表明这是一个关于JavaScript中原型式面向对象编程(Prototype-based Object-Oriented Programming)的实验或练习,特别是涉及构造...
Vue3.0是Vue.js框架的重大升级,带来了许多性能优化和功能增强,使得开发者能够更加高效地构建大型应用。在本文档中,我们将探讨Vue3.0的主要改进、如何使用Vue CLI初始化项目,以及结合vue-router和element-plus的...
因此,面向对象的JavaScript(Object-Oriented JavaScript,简称OOJS)作为一种更高级的编程范式,为开发者提供了更加灵活、高效且易于维护的解决方案。 #### 面向对象的概念与优势 面向对象编程(Object-Oriented...
标题 "javascript-video-oo-js" 暗示我们即将探讨的是JavaScript中的面向对象编程(Object-Oriented Programming, OOP)在视频处理或播放上下文中的应用。这可能包括创建可复用的视频播放器组件、事件处理以及利用...
Visual Studio Code是一款轻量级但功能强大的源代码编辑器,支持多种编程语言的智能补全、语法高亮、代码片段、代码对比Diff、Git等功能,并且可以通过安装插件来扩展其功能。 - **安装**:首先需要下载并安装...
JavaScript DOM编程艺术是一本经典的学习JavaScript操作文档对象模型(DOM)的书籍,源代码rar文件包含了许多实践示例,对于JavaScript初学者来说是极其宝贵的资源。DOM是Web页面的结构化表示,允许我们通过编程方式...
在本文中,我们将深入探讨如何使用Vue.js框架来实现一个购物车功能。Vue.js是一个轻量级的前端JavaScript框架,以其响应式数据绑定...Vue.js的这种声明式编程方式使代码更易于理解和维护,是现代前端开发中的有力工具。
JavaScript源代码实现自动化每日打卡功能主要涉及到自动化脚本的编写,使用的是Auto.js这款工具,它基于JavaScript语言,能够实现对安卓设备的自动化操作。在本文档中,作者提到由于疫情原因需要每日打卡,为了方便...
在JavaScript代码中,我们定义了两个函数:GetProgress和DoWork。GetProgress函数用于查询任务的进度信息,并将其显示在进度条中。DoWork函数用于触发任务的执行,并禁用按钮以防止重复提交。 二、后台实现 在后台...
在JavaScript编程中,循环是一种非常重要的控制流程结构,它能够帮助开发者重复执行一段代码,直到满足特定的终止条件。本文主要介绍四种常用的循环结构:`for`循环、`for...in`循环、`for...of`循环以及`Array....
`slider.js`组件利用mithril.js的响应式特性,结合JavaScript和SCSS的灵活性,实现了一个自定义的可拖动滑块。通过初始化、值域处理、事件监听和数据反馈机制,这个组件能够很好地适应各种应用场景,为开发者提供了...
1.本书是唯一一本介绍JavaScript面向对象编程的图书。, 2.本书作者是知名的Web开发人员和作者。受到国内众多前端开发人员,如淘宝UED团队的推崇和推荐。 Stoyan Stefanov:Facebook公司工程师、作家、演说家。他经常...
在JavaScript的世界里,异步编程是不可或缺的一部分。传统的回调函数、Promise以及async/await等方法虽然能够处理复杂的异步逻辑,但面对多线程通信时,它们显得力不从心。为了解决这一问题,"channel.js-master.zip...
CommonJS是一种在客户端JavaScript中实现模块化编程的标准,它允许开发者将代码组织成独立的模块,便于重用和管理。Node.js是CommonJS规范的一个重要实现,使得JavaScript能够应用于服务器端开发。 在Node.js中,...
JavaScript是一种广泛应用于Web开发的动态编程语言,以其灵活性和强大的功能而著称。在JavaScript中,面向对象编程(Object-Oriented Programming,简称OOP)是实现复杂逻辑和组织代码结构的重要方式。OOP允许我们...
15. **OOJS**:面向对象的JavaScript编程。 16. **Scaffolding**:快速搭建项目结构的工具,例如在Angular中创建组件、服务等。 17. **Angular9**:Angular框架的第9个主要版本,用于构建单页应用程序。 18. **...
接下来,我们简要讨论一下JavaScript作为一种编程语言的基本特性,以更好地理解其与观察者模式的关系。 1. **基于对象和面向对象** - JavaScript是一种基于对象的脚本语言,支持面向对象编程特性,如封装、继承和...
OOJS是基于JavaScript的面向对象编程方式,它允许我们通过类和对象来组织代码,提高代码的可读性和复用性。在JavaScript中,我们可以通过构造函数、原型和闭包来实现面向对象特性。 1. **构造函数**:构造函数是一...
第五章 对象和类(OO思想).........53 第六章 高级语言特性........................59 第七章 异常.............74 第八章 图形用户接口:GUI.............78 第十一章 事件处理模型....................79 第十三...
7. **驼峰命名法(CamelCase)**:在JavaScript中常见,但在CSS中并不推荐,因为它可能会与JavaScript变量混淆。 8. **避免使用ID选择器**:ID选择器(#example)具有高优先级,应谨慎使用,避免对其他样式造成不必...