`
tomhibolu
  • 浏览: 1431056 次
文章分类
社区版块
存档分类
最新评论

javascript初接触(三)

 
阅读更多

接前面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.Visual.QuickStart.Guide.8thEdition

    无论是初接触编程的新人,还是有一定经验的开发者,《JavaScript基础教程第八版》都是一本值得拥有的参考书。对于新手而言,本书从零开始的教学模式能够帮助他们逐步建立起坚实的JavaScript基础知识体系;而对于有...

    My97DatePicker初接触

    《My97DatePicker初接触——深入解析与应用指南》 在Web开发中,日期选择器是一种常见的用户界面组件,它允许用户方便地选取日期。My97 DatePicker是一款经典的JavaScript日期选择插件,由国内开发者杨洪强(网名My...

    JavaScript语言参考手册合集

    "Javascript.CHM"可能涵盖了JavaScript的历史和发展,从初代版本到后来的改进,包括新的ECMAScript版本引入的特性。例如,ECMAScript 6(ES6,也称为ES2015)引入了let和const变量声明、解构赋值、箭头函数、模板...

    初接触Extjs之spket

    ExtJS 是一个基于 JavaScript 的富客户端应用框架,用于构建交互式的、桌面级的 Web 应用程序。Spket 是一款强大的 JavaScript 开发工具,尤其在处理 ExtJS 时提供了很多便利,包括代码提示、自动完成、语法检查等...

    JQuery 学习笔记01 JQuery初接触

    《JQuery 学习笔记01 - JQuery初接触》 jQuery是一个高效、简洁且功能丰富的JavaScript库,它极大地简化了JavaScript编程,使得开发者能够更快速、更方便地处理DOM操作、事件处理、动画效果和Ajax交互。这篇学习...

    【JavaScript源代码】浅谈如何循序渐进的学好JS.docx

    JavaScript,简称JS,是Web开发中的关键组成部分,主要用于前端交互逻辑和动态效果的实现。学习JavaScript需要明确其定位,它是负责操纵和调整DOM(文档...这样,即使JavaScript初看似复杂,也能逐渐掌握并熟练运用。

    基于JAVA jsp仓储管理系统的毕业设计,html、CSS、jsp、javascript

    本学期的学习我们接触了一些企业管理的系统软件,如速达和用友ERP等。小组成立这初,想着借鉴一下以上那些管理系统软件设计一个工业、商业企业均可使用的仓储物资管理系统,那样子首先得给仓库分类,如仓库可分为...

    有关于大三下学期的代码初印象

    在大三下学期,学生通常会接触到更深入的编程学习,特别是对于Web开发的基础知识。这个阶段,HTML、CSS和JavaScript是三个核心的学习点,它们构成了网页制作的基础框架。接下来,我们将详细介绍这三个重要技术。 ...

    ztree初遇.rar

    本压缩包“ztree初遇.rar”提供了一些基础的代码片段和JSP页面,帮助初次接触ZTree的用户快速上手。 1. **ZTree简介** ZTree是一个轻量级的JavaScript组件,它通过Ajax技术动态加载数据,支持多选、单选、拖拽、...

    李炎恢js paf文件下载

    总之,**李炎恢JavaScript-PDF** 教程涵盖了JavaScript的各个方面,无论你是初入编程的新手还是寻求提升的开发者,都能从中受益。通过系统学习,你将能够熟练运用JavaScript进行前端开发,开启你的编程之旅。

    jscangaceiro:JavaScript Cangaceiro图书项目-FlávioAlmeida

    10. **现代前端开发框架与库**:虽然书名并未明确提及,但作为现代Web开发的一部分,读者可能会接触到React、Vue或Angular等流行的JavaScript框架,以及jQuery等库的使用方法。 通过《JavaScript Cangaceiro》,Fl...

    物联网软件设计基础实验指导书(完整版)资料.doc

    实验二:接触 JavaScript 编程 * 实验目的:了解 JavaScript 的基本概念,了解 JavaScript 在 HTML 网页上的应用。 * 实验内容:JavaScript 的基本概念、JavaScript 在 HTML 网页上的应用。 * 实验步骤:使用 ...

    JavaScript实现重力下落与弹性效果的方法分析

    1.给球体一个释放初速度,如何实现越向下运动且在接触边缘之前,竖直方向上的速度speedY越大的效果? 答案:可以在计时器中,每及时一次,竖直方向上的速度speedY自增一个固定值来实现,下面代码中speedY += 6;就是...

    干货分享:让你分分钟学会javascript闭包

    闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让...

    skyLine二次开发接口API

    skyLine 二次开发API 全面详细介绍常用方法 参数等 对初接触三维开发的童鞋比有用 参考本API即可轻松开发 你 还等什么呢

    WebLoad初印象.rar

    总之,"WebLoad初印象.pdf"文档应该是对WebLoad的全面介绍,对于初次接触此工具的读者来说,是理解其功能特性和使用方法的重要参考资料。通过深入学习,你可以掌握如何利用WebLoad进行有效的性能测试,从而提升Web...

    精通Ajax_基础概念_核心技术与典型案例

    没有接触过Ajax的入门者可以轻松地阅读本书,有过JavaScript开发经验的人学习本书,会发现Ajax利用JavaScript可大大提高客户端的性能。掌握Ajax技术是开发网络应用的必要技能。  全书几乎涵盖了目前Ajax涉及的所有...

    前端框架vue.js,自己写的初入门

    在“自己写的初入门”过程中,你可能会接触到以下内容: - 安装Vue.js:通过CDN引入或使用npm安装。 - 创建第一个Vue实例:理解`new Vue()`的使用和基本配置。 - 模板语法:学习如何编写模板,使用条件语句和循环...

    lin-ui-master.zip

    3文档丰富:为了能让更多开发者接触之初,就能够熟练的用Lin-UI开发自己的小程序应用,我们对每个组件的 属性 、 事件 、用法 、和 案例 上都做了详尽的描述。 4扩展性强:支持 按需引入 和 自定义的主题色 ,生成...

Global site tag (gtag.js) - Google Analytics