JavaScript 对象和包装类

 

对象的创建方法

  • {}
var obj = {} 
  • 系统自带的构造函数
var obj = new Object()//Array()//Number()

 

  • 自定义的构造函数
function Person(){}   
var person1 = new Person()

 

注:构造函数:大驼峰命名规则 TheFirstName 

       普通函数:小驼峰命名规则  theFirstName

构造函数内部原理(必须加New)

  • 在函数体最前面隐式的加上this={}
  • 执行this.xxx=xxx
  • 隐式的返回this
function Person(name,age){//var this={}; 隐式this.name=name;this.age=age;//return this隐式
}   
var person1 = new Person("zhangsan",18)

 

注:构造函数显示返回对象,则返回对象

       构造函数返回原始值,则不受影响,继续返回this

包装类

  • new String()
  • new Boolean()
  • new Number()

包装类之后就有属性和方法了,原始值没有属性和方法

var num =4;//new Number(3).len=3; 销毁num.len=3;//new Number(3).len=3; 销毁
console.log(num.len);

 

以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。

注:undefined和null不可以设置属性值

例1:

// var str = "abcd";
// str.length=2;
// new string("abcd").length=2 销毁
// console.log(str)//abcd

 

例2:

var str = "abc";str += 1;
var test = typeof (str);if (test.length == 6) {test.sign = "typeof的返回结果";
}
console.log(test.sign); //undefinde

 

typeof返回string字符串

 

 

---恢复内容结束---

对象的创建方法

  • {}
var obj = {} 
  • 系统自带的构造函数
var obj = new Object()//Array()//Number()

 

  • 自定义的构造函数
function Person(){}   
var person1 = new Person()

 

注:构造函数:大驼峰命名规则 TheFirstName 

       普通函数:小驼峰命名规则  theFirstName

构造函数内部原理(必须加New)

  • 在函数体最前面隐式的加上this={}
  • 执行this.xxx=xxx
  • 隐式的返回this
function Person(name,age){//var this={}; 隐式this.name=name;this.age=age;//return this隐式
}   
var person1 = new Person("zhangsan",18)

 

注:构造函数显示返回对象,则返回对象

       构造函数返回原始值,则不受影响,继续返回this

包装类

  • new String()
  • new Boolean()
  • new Number()

包装类之后就有属性和方法了,原始值没有属性和方法

var num =4;//new Number(3).len=3; 销毁num.len=3;//new Number(3).len=3; 销毁
console.log(num.len);

 

以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。

注:undefined和null不可以设置属性值

例1:

// var str = "abcd";
// str.length=2;
// new string("abcd").length=2 销毁
// console.log(str)//abcd

 

例2:

var str = "abc";str += 1;
var test = typeof (str);if (test.length == 6) {test.sign = "typeof的返回结果";
}
console.log(test.sign); //undefinde

 

typeof返回string字符串

 

转载于:https://www.cnblogs.com/FashionDoo/p/10525761.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dll动态链接库

Visual C#生成DLL文件——预备知识 DLL(Dynamic Link Library)文件即动态链接库文件,是一种可执行文件,允许程序共享执行特殊任务所必需的代码和其他资源。多数情况下带有dll扩展名(也可以 是.ocx文件:Acti…

C# OLE DB 的连接方式下 对 sql 参数的操作 需要改成 ? 号

C# OLE DB 的连接方式下 对 sql 参数的操作 需要改成 ? 号

ELF文件格式

ELF文件格式 ELF文件(Executable Linkable Format)是一种文件存储格式。Linux下的目标文件和可执行文件都按照该格式进行存储,有必要做个总结。 概要 本文主要记录总结32位的Intel x86平台下的ELF文件结构。ELF文件以Section的形式进行存储…

TCP协议的三次握手与四次挥手

tcp协议的三次握手和四次挥手 三次握手: 第一次握手: 客户端发起一个链接(SYN) 第二次握手: 服务端就会返回一条(ACK)确认信息,同时服务端也会向客户端发起一个链接请求(…

晚上美容护肤10要诀 - 健康程序员,至尚生活!

夜晚美容护肤十要诀  如何护肤,我想谁也知道晚上是给予皮肤滋养的最佳时期,别以为早晚搽日霜、晚霜就能够令你的皮肤变得白雪雪、滑嘟嘟,其实这只是表面的滋润。要彻底护理,就要依赖你睡前的准备功夫,才能使肌肤得到…

明白了为什么java方法上面为什么要加个@符号

原来是java的特性“注解(Annotation)” 注解(Annotation) 为我们在代码中天界信息提供了一种形式化的方法,是我们可以在稍后某个时刻方便地使用这些数据(通过 解析注解 来使用这些数据) 注解的语…

PG内核分析 QA

今天查找postgreSQL相关的资料时,查找到该文章,觉得写得比较好 https://www.cnblogs.com/liuhaifeng/p/12184902.html

STM32的PA15、PB3、 PB4管脚作普通管脚的解决办法

最近做了一个板子,使用的是SWD方式进行下载程序,仅仅使用到SWDIO(PA13) 和SWCLK(PA14)两个管脚。我将PA15(JTDI)和PB3(JTDO)管脚用于他用(用于点L…

Google不要走

这两天Google离开中国的新闻不断,如果他真的要离开,我会觉得非常遗憾。我想他已经是大部分程序员的精神领袖,技术牛人的代表,现在居然会被逼走?? 与百度的搜索相比,Google也有广告,但…

AIX errdemon 命令

errdemon 进程持续检查 /dev/error 文件,收集error信息。 命令格式: Usage: errdemon -i filename -s value -B value [ -d | -D -m maxdups -t time ] | -l -i filename Uses the error log file specified by the filename parameter. If this f…

C#集合。

集合命名空间&#xff1a; using system.collections. 非泛型集合 using system.collections.Generic. 泛型集合 为什么要用集合&#xff1a; 1、数组一旦声明长度就固定了。 2、集合有很多方法可以用 等 常用集合&#xff1a; 类似数组集合&#xff1a;ArrayList List<&g…

对std::listT的封装

由于工作的原因&#xff0c;需要在线程安全的情况下对std::list<T>进行该list进行访问&#xff0c;因此就简单的封装了下&#xff0c;代码如下&#xff1a; template<typename T> class List { public:List () {}~List () {}void PushBack(const T& value) {b…

code

// 控制字体系列。"editor.fontFamily": "Droid Sans Mono, monospace, monospace, Droid Sans Fallback",// 覆盖当前所选颜色主题中的编辑器颜色和字体样式。"editor.tokenColorCustomizations": {},// 控制差异编辑器是否将对前导空格或尾随空…

SWISHMAX2脚本整理及Swishmax使用技巧

wish Max让你更快速更简单地在你的网页中加入Flash动画,超过230种可选择的预设效果.SWiSH是一个快速、简单且经济的方案,让你可以在你的网页 中加入Flash动画.只要点几下鼠标,你就可以加入让你的网页在众多网站中令人注目的酷炫动画效果.你可以创造形状、文字、按钮以及移动路径…

MAC机路由管理

On the Mac the command is similar, but a bit different Just as a note to myself and anyone else interested:add network:1sudo route add -net 10.67.0.0/16 192.168.120.254Add hostsudo route add -host 10.67.0.0/16 192.168.120.254转载于:https://blog.51cto.com…

Redis的持久化机制

Redis 的数据全部在内存里&#xff0c;如果突然宕机&#xff0c;数据就会全部丢失&#xff0c;因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失&#xff0c;这种机制就是 Redis 的持久化机制。 Redis 的持久化机制有两种&#xff0c;第一种是RDB快照&#xff0c;第二…

今天用python的turtle简单画了一副眼镜

画的不太好看&#xff0c;下次要继续努力鸭!!! 这个是代码~ 1 from turtle import*2 pencolor("blue")3 fillcolor("white")4 setup(500,1000,100,10)5 speed(2)6 pensize(4)7 begin_fill()8 circle(40,450)9 goto(70,40) 10 circle(-40,360) 11 penup() 1…

怎么样能找到国外的群?

怎么样能找到国外的群和老外聊天,学习呢&#xff1f;给你条途径。 先申请个MSN&#xff0c;作为固定的聊天基地。 在去WWW.OICQ.COM。 这是个外国的聊天网址&#xff0c;去那边的聊天室&#xff08;临时聊天基地&#xff0c;用来找新网友&#xff09;聊天。若是有个谈的来的&am…

redis RDB持久化中save和bgsave区别

SAVE 和 BGSAVE 两个命令都会调用 rdbSave 函数&#xff0c;但它们调用的方式各有不同&#xff1a; SAVE 直接调用 rdbSave &#xff0c;阻塞 Redis 主进程&#xff0c;直到保存完成为止。在主进程阻塞期间&#xff0c;服务器不能处理客户端的任何请求。BGSAVE 则 fork 出一个…

OA系统

employee对象为空&#xff0c;所以mybatis无法获取employeeId的值 getProperty(null, "employeeId") null是employee对象&#xff0c;employeeId是employee对象的属性 Struts Problem Report Struts has detected an unhandled exception: Messages: source is null …