Javascript_备忘录1
来源:互联网 发布:小程序数据分析 编辑:程序博客网 时间:2024/06/05 15:28
最近由于在弄WEBGL的东东,由于看不懂Threejs里面的Javascript,所以看了一点Javascript的基础教程。今天要备忘的东西是这个:Wrapper Objects(我叫他是糖衣类)。
首先看下面的例子:
var s = "test"; -->1s.len = 4; -->2var t = s.len; -->3
我的第一反应就是t应该输出是4,结果输出其实是undefined。看了书之后,里面的原因其实是(自我理解)每当编译的时候当编译器遇到s的时候他会临时new一个类并把s作为其构造函数的输入参数:
s = new String(s); -->4
但是正如上面所说是临时建立的,所以当上面代码的2完成后这个类便被discard(抛弃)了。所以第3行的代码t拿到的是又一次临时新建的String类,自然没有定义它的len属性,所以t的值就是undefined啦。
为什么叫他糖衣类,因为我很自然看这个代码就以为4,以为正确了就好像吃了糖一样开心。结果那只是一层糖衣而已,里面原来是这样苦涩。但愿考试的时候别走马观花就认为t的输出就是4了~~。
ps:这里还要备忘的是,没想到String还有这事,豁然开朗(下面是我复制粘贴的):
var s = "hello world!"; -->5var word = s.substring(s.indexOf(" ")+1, s.length); -->6
Strings are not objects, though, so why do they have properties? Whenever you try torefer to a property of a string s, JavaScript converts the string value to an object as if by calling new String(s).This object inherits string methods and is used to resolve the property reference.
0 0
- Javascript_备忘录1
- Javascript_备忘录2
- Javascript_备忘录3
- Javascript_备忘录4
- Javascript_备忘录5
- Javascript_备忘录6
- javascript_使用MVVM模式(1):MVVM…
- Head first JavaScript_#1简单用户交互界面
- javascript_实现
- javascript_函数
- javascript_继承
- JavaScript_语法
- JavaScript_对象
- javascript_汉诺塔
- javascript_蛇
- JavaScript_图片库
- JavaScript_异常
- javascript_事件
- 用OpenLayers3实现自定义地图切片的发布
- C++ 虚函数表解析
- 今日作业+
- 错误集
- Linux服务器系统选择
- Javascript_备忘录1
- php 冒泡排序(两种写法)
- Hadoop中Zookeeper,HDFS,Hbase,Hive,Pig的概念介绍与比较
- NIO(一)基础理解
- Spring MVC之@RequestBody, @ResponseBody @PathVariable @SessionAttributes @ModelAttribute详解
- 【Unity】Unity 3D坐标系介绍
- Android AIDL实践
- 程序无法运行:Error Default activity not found
- php生成xml