javascript 学习总结1
来源:互联网 发布:跨表设置数据有效性 编辑:程序博客网 时间:2024/05/29 16:21
一、从构造函数创建字面量值
1、javascript提供了叫做字面量的快捷方式——用于创建大多数原生对象值,而不必使用new Foo()或new bar()这样的方式。
大多数情况下,字面量语法与new(加了new操作符——new后面首个字母一般大写——里面的this指的是当前创建的实例对象(是一个复杂对象),没有加new进行调用则this值将引用包含该函数的上一级对象。)
2、字面量语法与使用new操作符的效果相同,但也有例外(原始字符串、数字和布尔值)。如下:
var egNumber = new Number(19); // 对象
var egNumberLiteral = 19; // 原始数字值,非对象
var egString = new String("str"); // 对象
var egStringLiteral = "str"; // 原始字符值,非对象
var egBoolean = new Boolean(false); // 对象
var egBoolean = false; // 原始布尔值,非对象
以下是两种效果相同:
(1)对象的建立
var myObject = new Object();
var myObjectLiteral = {};
(2)数组对象的建立
var myArray = new Array();
var myArrayLiteral = ['foo','flo'];
(3)function对象的建立
var myFunction = new Function("x","y","return x*y);
var myFunctionLiteral = function(x,y){ return x*y; }
(4) 正则对象的建立
var myRegExp = new RegExp('\bt[a-z]+\b');
var myRegExpLiteral = /\bt[a-z]+\b/;
在针对字符串、数字和布尔值使用字面量值时,只有在该值被视为对象的情况下才会创建实际的复杂对象。
即在尝试使用与构造函数有关联的方法或检索属性之前,一直在使用原始数据类型。在这种情况下,javascript会在幕后为字面量创建一个包装器对象,以便将该值视为一个对象。调用方法以后,javascript即扔掉包装器对象,该值返回字面量类型。
这就是字符串、数字和布尔被认为是原始/简单数据类型的原因。
二、原始值和简单值
5、 ”foo"、 true、false、null、undefined等都被视为原始值,不可细化。不能表示其他值组成的值。
值比较:
采用了new关键字创建字符串、数字或布尔值时,这个值就不再是原始值,与原始值比较就不相等。
所有原始值,除null和undefined外,都通过.toString()方法被转化为对象,一旦调用和返回toString()方法,对象就会转换成原始值。
- JavaScript学习总结1
- javascript 学习总结1
- javascript面向对象编程学习总结1
- JavaScript学习总结【1】初识JS
- JavaScript学习总结【1】、初识JS
- JavaScript学习总结
- JavaScript校验学习总结
- javascript 学习中的总结
- javascript学习总结
- JavaScript学习总结
- JavaScript学习总结
- JavaScript学习总结 .
- JavaScript基础学习总结
- JavaScript学习总结
- javascript学习总结
- javascript学习总结
- JavaScript学习总结一
- javascript学习总结五
- 图像角点检测之Trajkovic算子
- 设计模式 - 观察者模式(Observer Pattern) Java内置 使用方法
- WCF4.0 –- RESTful WCF Services
- Android内存机制分析上篇:了解Android堆和栈 Android内存机制分析下篇:分析APP内存使用情况
- iptables DNAT 与 SNAT 详解
- javascript 学习总结1
- llayout_gravity与gravity
- 患病根管
- .net C# COOKIE的设置、读取、清除
- 中国linux国产操作系统 想说爱你不容易!
- Hive学习之Hive Web接口
- Linux在应用层读写寄存器的方法
- 简单优化:Zipalign
- 如何在string.Format方法中输出大括号({})