前端小知识点(2):普通字符串和new String有什么区别
目录
一、其实不仅字符串
二、那么到底为什么?
三、代码案例
四、运行结果
一、其实不仅字符串
var str = 'abc';
typeof str ===> string //他不是对象,可以有方法或者属性
var num = 123; //他不是对象,可以有方法或者属性
typeof num ===> number //他不是对象,可以有方法或者属性
当然还有很有很多...
我们知道,String,Number,在JS中是基本类型
二、那么到底为什么?
引言:基本类型是存储在栈(stack)内存中的,而引用类型,对象(object)是存储在堆中的。但是为什么栈内存的可以也可以有方法和属性呢?
console.log(str.indexOf === String.prototype.indexOf) //true
str 又 不属于String 却拥有 String 的方法?????
因为:这是JS中的设计。
原始资料类型的方法与属性是"借"来的
所以原始资料类型是可以向 new String() 或者 new Number() 借来所有的方法。但是自己本身却没有属性和方法。
三、代码案例
var str1 = '123';
var str2 = new String('123');console.log( typeof str1 ); //string
console.log( typeof str2 ); //objectconsole.log( str1.slice(-1) );
console.log( str2.slice(-1) );console.log(str1.indexOf === String.prototype.indexOf);var num1 = 123;
var num2 = new Number(123);
四、运行结果
前端小知识点(2):普通字符串和new String有什么区别相关推荐
- 前端小知识点(4):JS 运行机制和存储
目录 被忽视的内存管理 JS工作原理 JS代码如何运行 JavaScript内存的生命周期 栈内存.堆内存 代码案例 运行结果 被忽视的内存管理 JavaScript不像C.C++等语言--程序员必须 ...
- 前端小知识点(10):原型链
目录 原型链 : 代码1 运行结果1 代码二 运行结果2 原型链 : 每一个对象都有一个原型(__proto__),这个原型还可以拥有自己的原型,形成最终的原型链. 查找一个对象特定的属性或者方法,我 ...
- 前端小知识点(9):函数和对象之间的关系
目录 函数与对象之间的关系 代码演示 运行结果 函数与对象之间的关系 函数 有什么 : 函数也是对象 函数有:prototype 对象 有什么 对象:__proto__ 原型对象里面 ...
- 前端小知识点(8):作者为什么设计原型
目录 一.从古代说起 二.Brendan Eich的选择 三.new运算符的缺点 四.prototype属性的引入 五.总结 六代码部分 一.从古代说起 要理解Javascript的设计思想,必须从它 ...
- 前端小知识点(7):正则前瞻
目录 一.js中的正则表达式,只有前瞻没有后顾 正向前瞻:(?=) ===>匹配符合的 代码1 结果1 代码2 结果2 一.js中的正则表达式,只有前瞻没有后顾 ...
- 前端小知识点(6):听了好多闭包,这次可能最懂
目录 一.作用域和作用域链 二.闭包 三.无意间共享环境[可以通过闭包解决] 代码一 结果一 代码二 结果二 代码三 结果三 一.作用域和作用域链 当函数声明的时候,函数会通过内部属性[scope]来 ...
- 前端小知识点(3):JavaScript 单线程
目录 一.为什么 JavaScript 是单线程? 二.JavaScript是单线程,怎样执行异步的代码? 三.事件循环机制 四.代码1 五.结果1 六.代码2 七.结果2 一.为什么 JavaScr ...
- 前端小知识点(1):undefined和null区别
目录 一.奇怪点 二.历史原因 三.具体区别 四.代码演示 五.运行结果 一.奇怪点 有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null. ...
- 【转载】前端小知识点---html换行被解析为空格的相关知识
html换行被解析为空格也是常说的3像素空隙的问题,根据测试不同浏览器产生的空隙大小会不一样,Chrome,Firefox,IE8+都存在这样的问题,这个问题的原因相比大家都知道,浏览器把换行解析成了 ...
最新文章
- 驱动级模拟驱动级模拟:直接读写键盘的硬件端口!
- ECSHOP 支付宝发货确认接口,记录支付宝返回的交易号
- 服务器获取客户端电脑文件,python实现获取客户机上指定文件并传输到服务器的方法 -电脑资料...
- PyTorch数据加载器
- java 弹框_java弹框
- 关于商业计划书(Business Project,以下简称BP)写作那些事儿(一)
- 水下通信方式以及WSN(无线传感器网络
- java smslib rxtx_SMSLIB+RXTX 短信猫开发模块
- java数据清洗_数据清洗例子
- 进一线互联网大厂担任架构师,需要掌握哪些核心技能?
- HDU - How far away ?(DFS+vector)
- 极客空间-MySQL实战45天-第一天
- 架构设计-架构愿景分析
- 定义一个矩形类Rectangle:(知识点:对象的创建和使用)
- USB ncm虚拟网卡
- NLP自然语言处理之情感分析分析讲解、知识构建
- others:南怀瑾先生讲:呵呼嘘吹嘻呬六字诀养生诀的要领---《南怀瑾与彼得圣吉》
- fib(OSC招聘-小而美的公司推荐){fib(0x5-1) + fib(0x5-2)}
- 让java支持es6_简单看看es6解构赋值
- Unity预制体和预设
热门文章
- HashMap, LinkedHashMap 和 TreeMap的区别
- Kubernetes 入门(2)基本组件
- leetcode1090. 受标签影响的最大值(贪心算法)
- vim捐赠_#PayItBackwards-一位freeCodeCamp毕业生如何向事业捐赠10,000美元
- ariel字体_播客第58集:软件开发人员和freeCodeCamp超级巨星Ariel Leslie
- akka 简介_Akka HTTP路由简介
- 开源 数据仓库_使用这些开源工具进行数据仓库
- python socket.error: [Errno 24] Too many open files
- 令牌验证 token
- 【层次聚类】python scipy实现