js学习笔记之包装对象
JavaScript包装对象
近日有时间,闲下来好好学习原生js
JavaScript是一门面向对象语言,使用”.”就可以访问对象的属性和方法,而基本类型(null, undefined, bool, number, string)应该是值类型,怎么会有属性和方法。
但是
var s="string";
console.log(s.length);//
console.log(s.indexOf('i'));//
于是去翻阅资料
JavaScript可以很灵活的将一种类型转换为另一种了类型,当引用了字符串s的属性,JavaScript就会将字符串值通过调用new String(s)的方式转换成对象,这个对象继承了字符串的方法并用来处理属性的引用。上面代码在使用的实际上是String对象的length属性和indexOf方法,一旦属性引用结束,这个新创建的对象就会销毁。
这也是频繁处理字符串效率低的一个原因。
String
String对象拥有很多方法
charAtcharCodeAtconcatfromCharCodeindexOflastIndexOfmatchreplacesearchslicesplitsubstrsubstringtoLowerCasetoUpperCase
var s='string';
s.words=6;
console.log(s.words);
执行这段代码,输出结果是undefined。
第二行,调用s字符串的属性,于是JavaScript创建一个临时字符串对象,并对该words属性赋值,随后销毁这个对象。
第三行,尝试读取s的属性,又会创建一个新的临时字符串对象,这个对象自然没有words属性。
在读取字符串的属性值的识货,表现得像对象一样,但如果你给其赋值,则会被忽略。修改只是发生在临时对象上,而这个对象随后会被销毁。
存取字符串,数字或布尔值的属性时创建的临时对象称为“包装对象”
js学习笔记之包装对象的更多相关文章
- JS 学习笔记--11---内置对象(Global/Math)
练习中使用的浏览器是IE10,如果各位朋友有不同意见或者遇到浏览器不兼容问题,希望指正 1.内置对象的定义:有ECMAScript实现提供的.不依赖与宿主环境的对象,在ECMAScript运行之前就已 ...
- JS 学习笔记--12---面向对象
练习中使用的浏览器为IE10,如果各位朋友有不同意见或者本文有什么错误地方,望指正 ECMASCript有两种开发模式:函数式(面向过程)和面向对象.面向对象有一个很明显的标志,那就是类,我们可以通过 ...
- [前端JS学习笔记]JavaScript prototype 对象
一.概念介绍 prototype 对象 : 原型对象.在JavaScript中, 每一个对象都继承了另一个对象,后者称为"原型对象". 只有 null 除外,它没有自己的原型对象. ...
- 25-Node.js学习笔记-express-app.locals对象
app.locals对象 将变量设置到app.locals对象下面,这个数据在所有的模板中都可以获取到 app.locals.users=[{ name:'柠檬不酸', age:20 },{ name ...
- 【转】Backbone.js学习笔记(二)细说MVC
文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Bac ...
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
随机推荐
- php的各种配置
问题:1.如果去掉URL_MODEL=1时的index.php第一步:把Apache配置文件中的LoadModule rewrite_module modules/mod_rewrite.so 取消注 ...
- Windows phone 之 UserControl的应用
一.新建一个UserControl.xaml页面 MyUserControl.xaml 添加代码如下: <UserControl x:Class="bodypicture.MyUse ...
- 【实习记】2014-08-26都是回车惹的祸——shell脚本必须是unix行尾
事情由起:svn的url在excel里,我复制到txt文本下,vi做些文本处理,只提取了url,保存为url.txt.再用vi处理url.txt,加上svn checkout等词,变成可以运行 ...
- 图标字体的使用(fontello.com)字体推荐及使用技巧
网页设计中为了页面漂亮好看,图标是少不了,网页中使用的图标通常都是使用图片,使用图片图标的有很多弊端,如果你经常制作网页应该有一肚子埋怨. 使用图片图标的弊端 放大图标必须重新作图, 改变颜色必须开启 ...
- python【第十二篇】Mysql基础
内容: 1.数据库介绍及MySQL简介 2.MySQL基本操作 1 数据库介绍 1.1什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同 ...
- PR曲线平滑
两天写论文中,本来设计的是要画这个Precision-Recall Curve的,因为PRC是从信息检索中来的,而且我又做的类似一个检索,所以要画这个图,但是我靠,竟然发现不好画,找了很多资料等.最后 ...
- uboot环境变量区为何不能放在data段
一.疑问 环境变量也是全局变量,为何不能像其他的全局变量放在data段呢?为什么要放在堆中或者使用ENV_IS_EMBEDDED定义的CFG_ENV_SIZE的空间大小,又为什么需要这么大的空间呢? ...
- IIs工作原理
http://www.cnblogs.com/szhy222/archive/2008/07/14/1242576.html 问题: HTTP.SYS 的内置驱动程序 IIS 工作者进程
- 最牛「CSRF防护」,带你进入大虾们的圈子!
简单理解 CSRF 什么是 CSRF? CSRF,通常称为跨站请求伪造,英文名 Cross-site request forgery 缩写 CSRF,是一种对网站的恶意攻击.一个跨站请求伪造攻击迫使登 ...
- 居然还有WM_TIMECHANGE(只在用户手动改变系统时间时才会产生作用)
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...