js中的this对象的api

1.js里面 构造函数 对象 api的区别

在fun1()方法中通过var obj = new fun()创建了一个对象。

fun() 是一个特殊的函数 构造函数,它和普通的函数有什么区别和联系我将在下边谈论。 注意到上边有两种形式定义变量。

this.name 和 var age .其实通过this方式创建的变量叫做对象的成员变量,可以在外部通过对象引用。而 var age 是一个局部变量 (如果放到外层,是一个全局变量) 这个变量不能被对象在外部引用(如obj.age)否则是undefine,可以将它看成是一个对象的私有成员变量。

接下来看看看构造函数的执行过程。首先执行var obj = new fun()这一步后,记录现场,然后跳到fun()的构造函数中,执行alert("good")跳出对话框。

接下来就是创建成员变量了(如java 中在堆中创建内存空间,创建栈)。 好了fun()执行完了,回到fun1(),执行下去。

注意一点,alert(obj.age)是undefine.我现在想知道哪些函数可以new(),哪些不可以new().这里 function fun2()是一个函数,但是它是构造函数吗? 你可以将它当做一个构造函数。这里会发现fun1()中的alert()可以正常执行。

这里可以总结为任何函数都可以new,在js中函数就是对象。但是试想一下这里new有意义吗? fun2()中没有变量,或者都是var 定义的变量,那么在外部引用不了。

new它干嘛呢? ,还不如让fun2()作为全局函数执行好了。 这里可以回答本章的要探索的问题了: 任何函数都是构造函数,如果通过new就可以得到一个对象。

通过函数不同的上下文调用分下面几种:(1). 当在一个函数调用之前有new关键字,则上下文为新建的对象; //任何函数可以new 创建一个对象(2). 当一个函数使用call或者apply调用时,给定的第一个参数即为上下文;//构造方法中可以写成员方法。然后通过对象来调用(3). 否则,如果一个函数作为一个对象的属性(obj.func)或者obj['func'])来调用时,它就把该对象作为上下文来运行;//上边new fun2()没意义,直接 fun2()调用,这里在全局上下文运行(4)如果与上述几条都不符的话,则函数将在全局上下文中运行。

2.请问javascript的this对象问题

nodeName就是Node对象的属性,node是document树中的一个节点,有很多种类型,你得这个例子里面很明显这个节点是一个html元素节点。

所以如果非要用其他方式等同的话: <body> 。

3.关于js中this

问题1.这是因为alert()是比较简陋的,他只能输出字符,这导致了他并不适合我们在开发时将其作为变量输出工具。

而因为只支持输出字符,所以当你要alert()的内容不是字符串时,他会使用toString()方法强制的转化成字符串。默认情况下,每个对象都会从Object上继承到toString()方法,如果这个方法没有被这个对象自身或者更接近的上层原型上的同名方法覆盖(遮蔽),则调用该对象的toString()方法时会返回"[object type]"所以你在alert()这个变量a的时候,他会返回object Object,第二个object是指他是从Object对象中获取的toString()方法。

所以一般调试需要输出变量,并且看变量具体内容的话,建议使用console.log(),而不是alert()问题2.这是this指向的问题,当一个函数是作为对象的属性存在,当其被调用时,this会指向被绑定的对象,如非如此的话,this会指向全局对象,也就是Window。你这里很明显,你var sum的这个操作应该不是在一个对象方法内部进行的吧?所以this会指向Window对象。

而Window对象本身拥有toString()方法,所以会返回object Window。

js中的this对象的api

转载请注明出处JS代码网 » js中的this对象的api

资讯

js调用c变量的值

阅读(33)

本文主要为您介绍js调用c变量的值,内容包括js调用c#里的变量,JS中使用变量的问题,JS函数给全局变量赋值。首先,需要将数组在客户端定义,然后才能操作, 例如: var d=10; var strMap=<%=mapvalue%&gt;; --

资讯

js怎样打开新的标签页

阅读(32)

本文主要为您介绍js怎样打开新的标签页,内容包括js打开新标签页,Javascript中如何打开新的标签页,如何用javascript在一个新IE窗口中打开一个新页.。这里类似于友情链接js代码:<script type=text/JavaScript> function MM_jumpMenu(sel

资讯

js继承的作用域

阅读(32)

本文主要为您介绍js继承的作用域,内容包括javascript作用域,js中继承的几种用法总结,js的继承方式分别适合哪些应用场景。一,js中对象继承js中有三种继承方式1.js原型(prototype)实现继承复制代码 代码如下:<SPAN style="BACKG

资讯

jsio流的读取文件内容

阅读(41)

本文主要为您介绍jsio流的读取文件内容,内容包括js怎么实现io流写入txt文档?,js写一个读取io文件流的函数,怎么设置函数里的返回值调用函数时,js怎么实现io流写入txt文档?。一帮烂厨子 就会瞎扯淡。发没用的代码有么var fso=new ActiveXObj

资讯

js做下雨的页面特效

阅读(34)

本文主要为您介绍js做下雨的页面特效,内容包括如何用html或者js制作天降很多的滑稽还有代码雨的特效?,大家做下一个下雨JavaScript脚本,怎样在整个网页中加入春夏秋冬(下雨、飘雪什么的)动画效果?百。<style>* {margin:0;padding:0;}body {

资讯

我的世界js制作大师1.0

阅读(46)

本文主要为您介绍我的世界js制作大师1.0,内容包括我的世界js怎么制作,我的世界js咋制作,我的世界做JS。js指javascript,但是严格意义上这种编写mcpe的脚本语言为modpemodpe和javascript区别就是其函数和参数都已

资讯

我的世界外国以太2js

阅读(29)

本文主要为您介绍我的世界外国以太2js,内容包括我的世界天堂之门以太js,我的世界手机版天堂以太js怎么用,mcpe以太2怎么用。我的世界以太2天堂反重力原矿怎么获得?重力原矿有什么作用呢?下面我来为大家带来详细介绍。材料:紫玉矿镐获取方法:反

资讯

js的function方法详解

阅读(28)

本文主要为您介绍js的function方法详解,内容包括javascript中Function()的写法,javascript中的function用法,javascript中function方法。因为JS并不支持指针与委托,其实,这就是Javascript所实现的类似C++中的指针,C#中的委托.XXX相当于托委的

资讯

js获得div内的标签

阅读(32)

本文主要为您介绍js获得div内的标签,内容包括怎么获取div标签之间的内容,javascript如何获取div里面的标签,jQuery或者js如何获得div后面的标签或标签内容。可以使用next() 取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素

资讯

js中的伪数组

阅读(31)

本文主要为您介绍js中的伪数组,内容包括在javascript中什么是伪数组,在javascript中什么是伪数组,获取伪数组中的前几个元素。伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,不具有数组的push,pop等方法,但仍可以对真正

资讯

js闭包的好处

阅读(30)

本文主要为您介绍js闭包的好处,内容包括JavaScript中的闭包好处是什么?为什么用到闭包?,JS闭包主要作用是干嘛的?,JavaScript中的闭包是用来做什么的?。变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就

资讯

js如何获取输入框的值

阅读(40)

本文主要为您介绍js如何获取输入框的值,内容包括js子窗口如何获取父窗口输入框值,JS怎么获得文本框里的输入值,求js高手看下怎么获取输入框的值?。父页面 代码如下: <input type="text" id="name" value="zhangsan"/> <a href="a

资讯

node.js是干什么用的

阅读(31)

本文主要为您介绍node.js是干什么用的,内容包括node.js干嘛的和JavaScript啥区别,node.js是什么,node.js能干什么?。node.js是一个运行在chromeJavascript运行环境下(俗称GoogleV8引擎)的开发平台,用来方便快捷的创建服务器端网

资讯

ionic开发自己的js

阅读(36)

本文主要为您介绍ionic开发自己的js,内容包括ionic2怎么调用自己写的js,ionic2怎么调用自己写的js,如何把写好的js插入ionic的控制器。ionic是一款基于angularjs的html5移动app开发框架phonegap就是一款可以打包并且可以让js调用原生的移动

资讯

js调用c变量的值

阅读(33)

本文主要为您介绍js调用c变量的值,内容包括js调用c#里的变量,JS中使用变量的问题,JS函数给全局变量赋值。首先,需要将数组在客户端定义,然后才能操作, 例如: var d=10; var strMap=<%=mapvalue%&gt;; --

资讯

js怎样打开新的标签页

阅读(32)

本文主要为您介绍js怎样打开新的标签页,内容包括js打开新标签页,Javascript中如何打开新的标签页,如何用javascript在一个新IE窗口中打开一个新页.。这里类似于友情链接js代码:<script type=text/JavaScript> function MM_jumpMenu(sel

资讯

js继承的作用域

阅读(32)

本文主要为您介绍js继承的作用域,内容包括javascript作用域,js中继承的几种用法总结,js的继承方式分别适合哪些应用场景。一,js中对象继承js中有三种继承方式1.js原型(prototype)实现继承复制代码 代码如下:<SPAN style="BACKG

资讯

jsio流的读取文件内容

阅读(41)

本文主要为您介绍jsio流的读取文件内容,内容包括js怎么实现io流写入txt文档?,js写一个读取io文件流的函数,怎么设置函数里的返回值调用函数时,js怎么实现io流写入txt文档?。一帮烂厨子 就会瞎扯淡。发没用的代码有么var fso=new ActiveXObj

资讯

js做下雨的页面特效

阅读(34)

本文主要为您介绍js做下雨的页面特效,内容包括如何用html或者js制作天降很多的滑稽还有代码雨的特效?,大家做下一个下雨JavaScript脚本,怎样在整个网页中加入春夏秋冬(下雨、飘雪什么的)动画效果?百。<style>* {margin:0;padding:0;}body {

资讯

我的世界js制作大师1.0

阅读(46)

本文主要为您介绍我的世界js制作大师1.0,内容包括我的世界js怎么制作,我的世界js咋制作,我的世界做JS。js指javascript,但是严格意义上这种编写mcpe的脚本语言为modpemodpe和javascript区别就是其函数和参数都已

资讯

我的世界外国以太2js

阅读(29)

本文主要为您介绍我的世界外国以太2js,内容包括我的世界天堂之门以太js,我的世界手机版天堂以太js怎么用,mcpe以太2怎么用。我的世界以太2天堂反重力原矿怎么获得?重力原矿有什么作用呢?下面我来为大家带来详细介绍。材料:紫玉矿镐获取方法:反

资讯

js求1到100的和

阅读(35)

本文主要为您介绍js求1到100的和,内容包括js求1到100的和,编写一简单的JavaScript程序,实现1到100的总和,利用javascript函数实现计算1到100所有数字的和并弹出对话框显示结。var num=100;mySum=new sum2();document.write("方法1:1++100="+su