文档章节

函数与对象

粒子数反转
 粒子数反转
发布于 2017/09/12 11:33
字数 193
阅读 4
收藏 0
点赞 0
评论 0

函数也是对象,javascript好像一些皆对象,对象应有自己的对象和方法,虽然函数是对象,但和真正的对象有点差别;

函数执行时是new出一个实例的,此时函数是对象,函数内部的this指向函数本身,可用实例运用函数内部定义的实例和方法。

若函数执行的时候是以()执行的,则函数内部的this执行此时函数执行的环境对象,若在全局环境则指向window。

示例:

funtion personTop () {
  this.top = 180;
  this.addTop = function (){
    console.log(this.top);
  }
}
var howTop = new personTop();
howTop.top; // 180
howTop.addTop();//console.log(180)

new出一个实例,则this指向函数本身。

funtion personTop () {
  console.log(this);
  this.addTop = function (){
    console.log(this.top);
  }
}
personTop();

此时的this指向window对象

© 著作权归作者所有

共有 人打赏支持
粒子数反转
粉丝 0
博文 50
码字总数 11085
作品 0
闵行
前端工程师
javascript对象---2 构造函数

一.理解JS对象实现的基础: 构造函数:函的得另一种方式,执行后创建对象,并创建原型对象。 原型链:对象访问构造函数的指针。 Function函数:函数对象,所有底层程序都要调用的函数。自己定...

奋斗的小芋头 ⋅ 2016/11/25 ⋅ 0

js系列教程13-原型、原型链、作用链、闭包全解

全栈工程师开发手册 (作者:栾鹏) 快捷链接: js系列教程1-数组操作全解 js系列教程2-对象和属性全解 js系列教程3-字符串和正则全解 js系列教程4-函数与参数全解 js系列教程5-容器和算法全...

luanpeng825485697 ⋅ 2017/11/17 ⋅ 0

JQuery里的原型prototype分析

在 JavaScript 中,每个函数对象都有一个默认的属性 prototype,称为函数对象的原型成员,这个属性指向一个对象,称为函数的原型对象,当我们每定义了一个函数的时候,JavaScript 就创建了一...

zh151832 ⋅ 2016/03/03 ⋅ 0

作用域和作用域链

1. *作用域和作用域链 2. *闭包 1. *作用域和作用域链 作用域scope: 什么是: 一个变量的使用范围——使用 本质上作用域是一个对象——存储 作用域中的变量都是对象的成员 程序/函数的执行过程...

小祝融 ⋅ 2017/06/19 ⋅ 0

C++中构造函数与析构函数的调用顺序

构造函数、析构函数与拷贝构造函数介绍 2.1构造函数 构造函数不能有返回值 缺省构造函数时,系统将自动调用该缺省构造函数初始化对象,缺省构造函数会将所有数据成员都初始化为零或空 创建一...

SibylY ⋅ 2013/09/25 ⋅ 0

关于JS面向对象中原型和原型链以及他们之间的关系及this的详解

一:原型和原型对象: 1.函数的原型prototype:函数才有prototype,prototype是一个对象,指向了当前构造函数的引用地址。 2.函数的原型对象proto:所有对象都有proto属性, 当用构造函数实例...

shptc ⋅ 2017/06/23 ⋅ 0

《javascript语言精粹》读书笔记 —— 第4章 :函数

1、对象是"key-value"对的集合,并拥有一个连到原型对象的隐形链接。 2、javascript中函数就是对象。 3、函数对象与普通对象的区别: a、 对象字面量产生的对象(非函数对象)连接到Object....

凯奥斯 ⋅ 2013/04/03 ⋅ 0

JavaScript 原型模式

普通对象 除了函数对象就是普通对象 2. 函数对象 函数对象本质上都是通过new Function()创造的 JavaScript内置有12个构造器/对象Number、Boolean、String、Object、Function、Array、RegExp、...

张泽立 ⋅ 05/21 ⋅ 0

箭头函数this深刻理解

先来谈谈ES5中的this 在ES5中,每个函数在被调用时都会自动取得this这个特殊的对象。因此,每个内部函数不能访问到外部函数的this对象。(跟变量访问一样,如果局部环境存在某个变量,就不会...

bug_killer ⋅ 01/20 ⋅ 0

关于构造函数的测试和小结

function Circle( radius ){ this.r = radius; this.des = "圆形"; this.showInfo = function(){ alert("这是一个"+this.des); } } function Circlearea(r){ return Circle.PIthis.rthis.r; ......

bothyan ⋅ 2015/09/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

IDEA PermGen space内存溢出

解决方案: File -> Settings -> Build, Execution, Deployment / Build Tools / Maven / Runner下,找到VM Options选项,默认是空的,改为如下内容(或更大值)...

快乐的小火柴 ⋅ 15分钟前 ⋅ 0

前端常见跨域解决方案

什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交2.) 资源嵌入: <link>、<script>、<im...

临江仙卜算子 ⋅ 15分钟前 ⋅ 0

系统管理命令service

service命令用来控制系统服务的实用工具,例如启动、停止、重启和关闭系统服务,以及当前状态。当然也可以直接操作,例如/etc/init.d/mysqld restart等。 语法 service (选项)(参数) 选项...

Jpchina ⋅ 20分钟前 ⋅ 0

MySQL 联合索引的命中规则

为什么要用联合索引? 对于查询语句“SELECT T.* FROM T WHERE T.c1=1 AND T.c3=2”涉及到两列,这个时候我们一般采用一个联合索引(c1, c3);而不用两个单列索引,这是因为一条查询语句往往应...

hensemlee ⋅ 28分钟前 ⋅ 0

Spring 自动组件扫描

通常情况下都是在XML配置文件中手动声明Bean和组件的。不过Spring也可以自动扫描组件实例化Bean,这样就可以避免在XML文件中繁琐的Bean声明。 手动声明Bean: 这里不再啰嗦,就是简单地在XML...

霍淇滨 ⋅ 32分钟前 ⋅ 0

MapReduce简单需求分析-共同好友及查找互粉的情况

MapReduce的设计,最重要的是要找准key,然后制定一系列的数据处理流程。MapReduce的Map中,会把key相同的分配到同一个reduce中,对于key的选择,可以找到某个相同的因素。以下面的几个例子说...

Jason_typ ⋅ 34分钟前 ⋅ 0

springboot多数据源自动切换

SpringBoot多数据源切换,先上配置文件: 1.pom: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20......

JackyRiver ⋅ 36分钟前 ⋅ 0

Boost库编译应用

版本:Boost 1.66.0 Windows库编译 官网指南:直接执行bootstrap.bat处理文件即可,可以我却遇到一堆的问题。 环境:Windows 10 + Visual Studio 2017 Boost编译出来库命名 boost库生成文件命...

水海云 ⋅ 41分钟前 ⋅ 0

解决Eclipse发布到Tomcat丢失依赖jar包的问题

如果jar文件是以外部依赖的形式导入的。Eclipse将web项目发布到Tomcat时,是不会自动发布这些依赖的。 可以通过Eclipse在项目上右击 - Propertics - Deployment Assembly,添加“Java Build ...

ArlenXu ⋅ 41分钟前 ⋅ 0

iview tree组件层级过多时可左右滚动

使用vue+iview的tree组件,iview官网iview的tree树形控件 问题描述:tree层级过多时左右不可滚动 问题解决:修改overflow属性值 .el-tree-node>.el-tree-node_children { overflow: vi...

YXMBetter ⋅ 43分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部