目录

一、其实不仅字符串

二、那么到底为什么?

三、代码案例

四、运行结果


一、其实不仅字符串

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有什么区别相关推荐

  1. 前端小知识点(4):JS 运行机制和存储

    目录 被忽视的内存管理 JS工作原理 JS代码如何运行 JavaScript内存的生命周期 栈内存.堆内存 代码案例 运行结果 被忽视的内存管理 JavaScript不像C.C++等语言--程序员必须 ...

  2. 前端小知识点(10):原型链

    目录 原型链 : 代码1 运行结果1 代码二 运行结果2 原型链 : 每一个对象都有一个原型(__proto__),这个原型还可以拥有自己的原型,形成最终的原型链. 查找一个对象特定的属性或者方法,我 ...

  3. 前端小知识点(9):函数和对象之间的关系

    目录 函数与对象之间的关系 代码演示 运行结果 函数与对象之间的关系 函数 有什么 : 函数也是对象          函数有:prototype 对象 有什么 对象:__proto__ 原型对象里面 ...

  4. 前端小知识点(8):作者为什么设计原型

    目录 一.从古代说起 二.Brendan Eich的选择 三.new运算符的缺点 四.prototype属性的引入 五.总结 六代码部分 一.从古代说起 要理解Javascript的设计思想,必须从它 ...

  5. 前端小知识点(7):正则前瞻

    目录 一.js中的正则表达式,只有前瞻没有后顾        正向前瞻:(?=) ===>匹配符合的 代码1 结果1 代码2 结果2 一.js中的正则表达式,只有前瞻没有后顾           ...

  6. 前端小知识点(6):听了好多闭包,这次可能最懂

    目录 一.作用域和作用域链 二.闭包 三.无意间共享环境[可以通过闭包解决] 代码一 结果一 代码二 结果二 代码三 结果三 一.作用域和作用域链 当函数声明的时候,函数会通过内部属性[scope]来 ...

  7. 前端小知识点(3):JavaScript 单线程

    目录 一.为什么 JavaScript 是单线程? 二.JavaScript是单线程,怎样执行异步的代码? 三.事件循环机制 四.代码1 五.结果1 六.代码2 七.结果2 一.为什么 JavaScr ...

  8. 前端小知识点(1):undefined和null区别

    目录 一.奇怪点 二.历史原因 三.具体区别 四.代码演示 五.运行结果 一.奇怪点 有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null. ...

  9. 【转载】前端小知识点---html换行被解析为空格的相关知识

    html换行被解析为空格也是常说的3像素空隙的问题,根据测试不同浏览器产生的空隙大小会不一样,Chrome,Firefox,IE8+都存在这样的问题,这个问题的原因相比大家都知道,浏览器把换行解析成了 ...

最新文章

  1. 驱动级模拟驱动级模拟:直接读写键盘的硬件端口!
  2. ECSHOP 支付宝发货确认接口,记录支付宝返回的交易号
  3. 服务器获取客户端电脑文件,python实现获取客户机上指定文件并传输到服务器的方法 -电脑资料...
  4. PyTorch数据加载器
  5. java 弹框_java弹框
  6. 关于商业计划书(Business Project,以下简称BP)写作那些事儿(一)
  7. 水下通信方式以及WSN(无线传感器网络
  8. java smslib rxtx_SMSLIB+RXTX 短信猫开发模块
  9. java数据清洗_数据清洗例子
  10. 进一线互联网大厂担任架构师,需要掌握哪些核心技能?
  11. HDU - How far away ?(DFS+vector)
  12. 极客空间-MySQL实战45天-第一天
  13. 架构设计-架构愿景分析
  14. 定义一个矩形类Rectangle:(知识点:对象的创建和使用)
  15. USB ncm虚拟网卡
  16. NLP自然语言处理之情感分析分析讲解、知识构建
  17. others:南怀瑾先生讲:呵呼嘘吹嘻呬六字诀养生诀的要领---《南怀瑾与彼得圣吉》
  18. fib(OSC招聘-小而美的公司推荐){fib(0x5-1) + fib(0x5-2)}
  19. 让java支持es6_简单看看es6解构赋值
  20. Unity预制体和预设

热门文章

  1. HashMap, LinkedHashMap 和 TreeMap的区别
  2. Kubernetes 入门(2)基本组件
  3. leetcode1090. 受标签影响的最大值(贪心算法)
  4. vim捐赠_#PayItBackwards-一位freeCodeCamp毕业生如何向事业捐赠10,000美元
  5. ariel字体_播客第58集:软件开发人员和freeCodeCamp超级巨星Ariel Leslie
  6. akka 简介_Akka HTTP路由简介
  7. 开源 数据仓库_使用这些开源工具进行数据仓库
  8. python socket.error: [Errno 24] Too many open files
  9. 令牌验证 token
  10. 【层次聚类】python scipy实现