继承过程中对函数中this的认识

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Document</title>
 6 </head>
 7 <body>
 8     <script>
 9 var a = {
10     x:10,
11     cc:function(z){
12         return this.x+this.y+z
13     }
14 }
15 var b = {
16     x:100,
17     y:20,
18     __proto__:a
19 }
20 var c = {
21     // x:10000,
22     y:30,
23     __proto__:a
24 }
25 var ww = b.cc(30);
26 var ww2 = c.cc(30);
27 console.log(ww)
28 console.log(ww2)
29 /*
30 注意一点,this这个值在一个继承机制中,仍然是指向它原本属于的对象,而不是从原型链上找到它时,它所属于的对象。例如,以上的例子,this.y是从b和c中获取的,而不是a。当然,你也发现了this.x是从a取的,因为是通过原型链机制找到的。
31 */
32     </script>
33 </body>
34 </html>
时间: 2024-10-24 07:33:26

继承过程中对函数中this的认识的相关文章

软件测试中LoadRunner函数中的几个陷阱

软件测试 中 LoadRunner 函数中的几个陷阱 1.atof 在 loadrunner 中如果直接用 float f; f=atof("123.00"); lr _output_message("%f",f); 输出的结果会是1244128.00,根本不是我们想要的. 因为float,double型在不同的平台下长度不一样,所以在loadrunner 软件测试中LoadRunner函数中的几个陷阱 1.atof 在loadrunner中如果直接用 float

苹果浏览器Safari对JS函数库中newDate()函数中的参数的解析中不支持形如“2020-01-01”形式

苹果浏览器safari对new Date('1937-01-01')不支持,用.replace(/-/g, "/")函数替换掉中划线即可 如果不做处理,会报错:invalid date 本解决方案参考:http://stackoverflow.com/questions/4310953/invalid-date-in-safari

Javascript中的函数中的this值

看下面这段代码会在控制台上输出什么内容? 1 <script> 2 var url="fang.com"; 3 var obj={ 4 url:"soufun.com", 5 func:function(){ 6 return this.url; 7 } 8 }; 9 10 console.log((obj.func)()); 11 console.log((1&&obj.func)()) 12 </script> 答案是 1

Python中print函数中中逗号和加号的区别

先看看print中逗号和加号分别打印出来的效果.. 这里以Python3为例 1 print("hello" + "world") helloworld 1 print("hello", "world") hello world 这里发现加号的作用是连接字符串 而逗号相当于用空格连接字符串. 尝试一下不同数据类型的操作.. 1 print("hello" + 123) TypeError: must be

React中render函数中变量map中事件无法关联的解决办法

如下所示的代码,Input的checkbox可以正常显示3个,但是都无法和 handleChange关联上. 由于代码无法正常显示,我用图片 var Input = ReactBootstrap.Input; var TestCom = React.createClass({ getInitialState: function() { return {value: 'Hello!', value2: 'nihao2' }; }, handleChange: function(event) { v

泊松表面重建中主函数中部分代码分析-关于内存设置

1 //总体来看是和内存设置有关的 2 #if defined(WIN32) && defined(MAX_MEMORY_GB) 3 if( MAX_MEMORY_GB>0 ) 4 { 5 //SIZE_T是ULONG_PTR类型又是unsigned __int64类型取值范围为2到2的64次方,貌似和64为操作系统支持的理论内存值有关系 6 SIZE_T peakMemory = 1; 7 peakMemory <<= 30;//peakMemory等于peakMemo

AE中OnAfterDraw函数中绘制点线面的相关代码

需要提前得到一个IActiveview类型的变量activeView 1.点绘制代码 其中getoffDrawList装载的是IFeature类型的点要素 1 if (getoffDrawList != null && getoffDrawList.Count > 0 ) 2 { 3 IRgbColor getOnOffPtcolor = new RgbColorClass(); 4 getOnOffPtcolor.Red = 0; 5 getOnOffPtcolor.Green =

urllib模块中parse函数中的urlencode和quote_plus方法

本来只是向看一下quote_plus的作用,然后发现urlencode方法也是很方便的一个组合字符串的方法首先是介绍一下urlencode,他是将一些传入的元素使用&串联起来,效果如下: >>>params = { "appid": 1, "mch_id": 1, "body": 1, "out_trade_no": 1, "total_fee": 1, "spbill_

把数据写入txt中 open函数中 a与w的区别

a: 打开一个文件用于追加.如果该文件已存在,文件指针将会放在文件的结尾. 也就是说,新的内容将会被写入到已有内容之后.如果该文件不存在,创建新文件进行写入. w:  打开一个文件只用于写入.如果该文件已存在则打开文件,并从开头开始编辑, 即原有内容会被删除.如果该文件不存在,创建新文件. 简单说a类似于append,每次运行在原有基础上增加,而w是覆盖. open模式设为a运行两次 代码: 1 filename = 'test.txt' 2 file = open(filename, 'a')