接前面javascript初接触(二),继续简单了解javascipt。希望这部分之后,能和Qt中的QtScript、qml、QJS***
一些东西完成对接。能读懂Qt Manual中和javascript有关的东西。
Constructor
JavaScript中没有类的概念,那么
a = new Array(10);
t = new Date();
中的 Array 和 Date 又是什么东西?这么像C++中的类。
恩,似乎真的不太好接受,这就是Constructor函数。和其他函数一样
function Person(name)
{
this.name = name;
}
然后配合 new 操作符使用
p = new Person("Qter");
new 操作符后面必须跟着一个函数调用。它创建一个新的没有属性的object,然后调用这个函数。
被设计用来做这个工作的函数,称为 Contructor。其主要目的是初始化新创建的object。
Prototype
没有类,应该也就没有继承。不过它有个叫Prototype的东西
代码
|
运行结果:
|
Person.constructor;
|
function Function() { [nativecode]
}
|
Person.prototype.constructor;
|
function Person(name) {
this.name = name;
}
|
p.constructor;
|
同上
|
new 操作符将 Person 的prototype的属性也弄到了新创建的object中。
如果我想给Person加个成员函数怎么办?
function Person(name)
{
this.name = name;
this.output = function(){return "Hello " + this.name;}
}
p = new Person("Qt")
p.output()
这样以来,我们创建的每一个Person的对象都会生成一个函数属性。不是我们需要的,我们需要是,所有的对象共享同一个函数属性
于是,将其加到Person的prototype中
function Person(name)
{
this.name = name;
}
Person.prototype.output = function(){return "Hello " + this.name;}
p = new Person("Qt")
p.output()
似乎还是挺神奇的哈。那么,这个属性?两种情况下还有什么区别呢?
语句
|
前者
|
后者(使用prototype)
|
p.hasOwnProperty("name")
|
true
|
true
|
p.hasOwnProperty("output")
|
true
|
false
|
"output" in p
|
true
|
true
|
如果,我试图写p的output属性会怎么样?
p2 = new Person("Python")
p2.output = "Qt"
恩,不会影响其他object。
分享到:
相关推荐
无论是初接触编程的新人,还是有一定经验的开发者,《JavaScript基础教程第八版》都是一本值得拥有的参考书。对于新手而言,本书从零开始的教学模式能够帮助他们逐步建立起坚实的JavaScript基础知识体系;而对于有...
《My97DatePicker初接触——深入解析与应用指南》 在Web开发中,日期选择器是一种常见的用户界面组件,它允许用户方便地选取日期。My97 DatePicker是一款经典的JavaScript日期选择插件,由国内开发者杨洪强(网名My...
"Javascript.CHM"可能涵盖了JavaScript的历史和发展,从初代版本到后来的改进,包括新的ECMAScript版本引入的特性。例如,ECMAScript 6(ES6,也称为ES2015)引入了let和const变量声明、解构赋值、箭头函数、模板...
ExtJS 是一个基于 JavaScript 的富客户端应用框架,用于构建交互式的、桌面级的 Web 应用程序。Spket 是一款强大的 JavaScript 开发工具,尤其在处理 ExtJS 时提供了很多便利,包括代码提示、自动完成、语法检查等...
《JQuery 学习笔记01 - JQuery初接触》 jQuery是一个高效、简洁且功能丰富的JavaScript库,它极大地简化了JavaScript编程,使得开发者能够更快速、更方便地处理DOM操作、事件处理、动画效果和Ajax交互。这篇学习...
JavaScript,简称JS,是Web开发中的关键组成部分,主要用于前端交互逻辑和动态效果的实现。学习JavaScript需要明确其定位,它是负责操纵和调整DOM(文档...这样,即使JavaScript初看似复杂,也能逐渐掌握并熟练运用。
本学期的学习我们接触了一些企业管理的系统软件,如速达和用友ERP等。小组成立这初,想着借鉴一下以上那些管理系统软件设计一个工业、商业企业均可使用的仓储物资管理系统,那样子首先得给仓库分类,如仓库可分为...
在大三下学期,学生通常会接触到更深入的编程学习,特别是对于Web开发的基础知识。这个阶段,HTML、CSS和JavaScript是三个核心的学习点,它们构成了网页制作的基础框架。接下来,我们将详细介绍这三个重要技术。 ...
本压缩包“ztree初遇.rar”提供了一些基础的代码片段和JSP页面,帮助初次接触ZTree的用户快速上手。 1. **ZTree简介** ZTree是一个轻量级的JavaScript组件,它通过Ajax技术动态加载数据,支持多选、单选、拖拽、...
总之,**李炎恢JavaScript-PDF** 教程涵盖了JavaScript的各个方面,无论你是初入编程的新手还是寻求提升的开发者,都能从中受益。通过系统学习,你将能够熟练运用JavaScript进行前端开发,开启你的编程之旅。
10. **现代前端开发框架与库**:虽然书名并未明确提及,但作为现代Web开发的一部分,读者可能会接触到React、Vue或Angular等流行的JavaScript框架,以及jQuery等库的使用方法。 通过《JavaScript Cangaceiro》,Fl...
实验二:接触 JavaScript 编程 * 实验目的:了解 JavaScript 的基本概念,了解 JavaScript 在 HTML 网页上的应用。 * 实验内容:JavaScript 的基本概念、JavaScript 在 HTML 网页上的应用。 * 实验步骤:使用 ...
1.给球体一个释放初速度,如何实现越向下运动且在接触边缘之前,竖直方向上的速度speedY越大的效果? 答案:可以在计时器中,每及时一次,竖直方向上的速度speedY自增一个固定值来实现,下面代码中speedY += 6;就是...
闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让...
skyLine 二次开发API 全面详细介绍常用方法 参数等 对初接触三维开发的童鞋比有用 参考本API即可轻松开发 你 还等什么呢
总之,"WebLoad初印象.pdf"文档应该是对WebLoad的全面介绍,对于初次接触此工具的读者来说,是理解其功能特性和使用方法的重要参考资料。通过深入学习,你可以掌握如何利用WebLoad进行有效的性能测试,从而提升Web...
没有接触过Ajax的入门者可以轻松地阅读本书,有过JavaScript开发经验的人学习本书,会发现Ajax利用JavaScript可大大提高客户端的性能。掌握Ajax技术是开发网络应用的必要技能。 全书几乎涵盖了目前Ajax涉及的所有...
在“自己写的初入门”过程中,你可能会接触到以下内容: - 安装Vue.js:通过CDN引入或使用npm安装。 - 创建第一个Vue实例:理解`new Vue()`的使用和基本配置。 - 模板语法:学习如何编写模板,使用条件语句和循环...
3文档丰富:为了能让更多开发者接触之初,就能够熟练的用Lin-UI开发自己的小程序应用,我们对每个组件的 属性 、 事件 、用法 、和 案例 上都做了详尽的描述。 4扩展性强:支持 按需引入 和 自定义的主题色 ,生成...