JS:对象

news/2024/7/19 15:26:36 标签: js
js javascript">js-keyword">var arr = [js-string">'你好',js-string">'哈喽',js-string">'早安']

js-keyword">var a = js-number">1;js-comment">//变量
arr.a = js-number">1;js-comment">//属性

js-comment">//方法
arr.fn = js-function">js-keyword">functionjs-params">(){
    alert(js-keyword">this) js-comment">//this == arr
}
vDiv.onClick = js-function">js-keyword">functionjs-params">(){
    alert(js-keyword">this) js-comment">//this == vDiv
}
window.onload = js-function">js-keyword">functionjs-params">(){
    atert(js-keyword">this) js-comment">//this == window
}
js-comment">//函数
js-function">js-keyword">function js-title">fnjs-params">(){
    alert(js-keyword">this) js-comment">//this == window
}
函数fn等价于:
window.fn = js-function">js-keyword">functionjs-params">(){
    alert(js-keyword">this) js-comment">//this == window
}
也等价于:
fn = js-keyword">new js-built_in">Function(js-string">"alert(this)")

构造函数:

js javascript">js-keyword">var obj = js-keyword">new js-built_in">Object();
obj.name = js-string">'小明'
obj.showName = js-function">js-keyword">functionjs-params">(){
       alert(name);
}

js-comment">//构造函数
js-function">js-keyword">function js-title">creatPersonjs-params">(name){
    js-keyword">var js-keyword">this = js-keyword">new js-built_in">Object();
   js-comment">// this == obj 
js-keyword">this.name = name
js-keyword">this.showName = js-function">js-keyword">functionjs-params">(){
       alert(name);
}
js-keyword">return js-keyword">this;
}

js-keyword">var person1 = creatPerson(name);

等价于:
js-function">js-keyword">function js-title">creatPersonjs-params">(name){
   js-comment">// this == creatPerson
js-keyword">this.name = name
js-keyword">this.showName = js-function">js-keyword">functionjs-params">(){
       alert(name);
}
}

js-keyword">var person1 = js-keyword">new creatPerson(name);

prototype:原型

给类添加公共方法。不同的对象调用的是同一个方法。

js javascript">js-built_in">String.prototype.trim = js-function">js-keyword">functionjs-params">(){
         js-keyword">return js-keyword">this.replace(js-regexp">/^\s+|\s+$/,js-string">'')  ;
}
str1.trim==str2.trim

var date = new Date();
typeof(Date) == function

对象内调用系统方法:

js javascript">js-function">js-keyword">function js-title">Aeejs-params">(id){
             js-keyword">this.age = js-number">12;
         js-comment">//    this.fn = function(){
         js-comment">//        alert(this.age)      
         js-comment">//    }
             js-keyword">var _this = js-keyword">this;
             setinterval(js-function">js-keyword">functionjs-params">(){ _this.fn()}.fn,js-number">1000);
             document.getElementById(id).onclick = js-function">js-keyword">functionjs-params">(){
                      _this.fn();
             }
}

Aee.prototype.fn = js-function">js-keyword">functionjs-params">(){
       alert(js-keyword">this.age) 
}

继承

Worker继承Person

js javascript">js-function">js-keyword">function js-title">Workerjs-params">(name,age,job){
         Person.call(js-keyword">this,name,age);
        js-comment">// Worker.prototype = Person.prototype;//父类Person也多了一个showJob方法。
         js-keyword">for(js-keyword">var i js-keyword">in Person.prototype){
         Worker.prototype[i] = Person.prototype[i]js-comment">//父类Person不会多一个showJob方法
         }
         js-keyword">this.job = job;
}
Worker.prototype.showJob(){  
           alert(js-keyword">this.job);
}

http://www.niftyadmin.cn/n/830848.html

相关文章

[ Andriod篇 ] - Android 5.0.2 源码编译

Android 源码版本比较多, 这里选择的是 韦东山第四期 Andriod 教程中的 Android-5.0.2, 直接从百问网公开的百度网盘链接下载。由于源码本身已经集成了 Tiny 4412开发板相关配置,省去了很多工作量。 百问网提供配置好编译环境的虚拟机,初步使…

java:web.xml详解

启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <*listener></listener> 和 <context-param><*/context-param>紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文容器将<*context-p…

[ 后端篇 ] 01 - Node 学习之路

今年的主要目标之一就是从嵌入式底层开发到后端开发的转变&#xff0c;尽快熟悉后端的开发环境&#xff0c;开发环境。其中主要熟悉的有: Node 语言语法运用&#xff0c;结合第三方插件的使用Express 框架使用Mongodb 数据库使用 现有框架的语言主要以Node.js为主&#xff0c…

[ 后端篇 ] 03 - 熟悉AWS中的常用服务

开发后端自然离不开云服务&#xff0c;这里选用常用的亚马逊云(AWS)作为介绍。 如国内的阿里云&#xff0c;腾讯云原理相同&#xff0c;看一下官方文档即可明白。 AWS中服务有很多&#xff0c;其中实际开发中经常用到的就几种&#xff0c;这里初步记录下 名词解释 Amazon EC…

oracle:ora-00119和ora-00132错误解决

C:>sqlplus / as sysdba; SQL> startup; 发现ora-00119【ora-00119 invalid specification for system parameter】 ora-00132【syntax error or unresolved network name ‘LISTENER_ORCL’】&#xff1a; 解决办法&#xff1a; 1&#xff0c;找到一个文件夹&#xf…

[ 后端篇 ] 04 - 一次完整的HTTP连接

为了了解HTTP 具体的传输协议&#xff0c;花时间阅读了MDN 上的的HTTP协议说明&#xff0c;写的很详细&#xff0c;中英文版本都有。 这里把看完的一些知识点重点记录 超文本传输​​协议&#xff08;HTTP&#xff09;是用于传输诸如HTML的超媒体文档的应用层协议。 它被设计用…

android:ScrollView滑动冲突问题

在ViewGroup中有个方法叫requestDisallowInterceptTouchEvent(boolean disallowIntercept)&#xff0c;这个方法可以用来控制该ViewGroup是否截断点击事件。 mMapView.getChildAt(0).setOnTouchListener(new View.OnTouchListener() {Overridepublic boolean onTouch(View v, …

[ 后端篇 ] 02 - 部署Node环境

部署Node环境中遇到的一些的问题 : Ubuntu 安装Node 其中 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.25.2/install.sh | bash 发现怎么也安装不成功&#xff0c;主要本机使用的默认终端为zsh&#xff0c;然后把.bashrc 中的内容拷贝到 .zshrc export …