note021js里的类型

类型转换

toString()

var a = 1;
var b = true;
var c = {};
var d = null;
var e = undefined;
a.toString() // "1"
b.toString() // "true"
c.toString() // "[object Object]"
d.toString() // 报错
e.toString() // 报错
//老司机怎么把不同类型变成字符串的
a + ''   //  "1"
b + ''  //  "true"
c + ''  //  "[object Object]"
d + ''  //  "null" 
e + ''  //  "undefined"

//智障写法  不同类型是不能 + 的  
// + 如果发现左右任意一边有字符串  就会把另一边转为字符串
1 + '1'    //  字符 "11"    相当于  (1).toString() + '1'
1 + 1  // 数字 2

//变成字符串常用的方法是 与空字符串相加  ‘’+
//除此之外 你可以 window.String(一个变量)   与  ‘’+ 一样

Boolean()方法

Boolean(1) // true
Boolean(2) // true
Boolean(0) // false
Boolean('') //  false
Boolean('  ') // true
Boolean('21321') // true
Boolean({a:11,b:22})  // true
Boolean({}) // true
//老司机
!! true   //true
!! 1  // true
!! 0  // false
!! '' // false
!! ' ' //true
!! {} //true
!! null // false
!! undefined //false
类型转换

5个特殊值 Falsy

number string boolean symbol null undefined object
0 NaN '' null undefined

转为number类型

5种方式如图


类型转换

考点

parseInt('011') // 11
parseInt('011',8) // 9
parseInt('011',10) // 11
parseInt('s') // NaN
parseInt('1s') // 1

内存图

内存分为代码区和数据区
chrome为程序划分100M内存

数据区

栈 && 堆
数据区

简单示例
内存分配过程

引用
复杂类型存的是引用

示例

测试1
  • 测试2

    测试3

self 指向自己

测试3

很贱很贱的面试题

面试题

垃圾回收

GC 如果一个变量没有被引用==>它就是垃圾 ==> 将被回收

var a = {name : 'a'}   // 分配内存地址 33
var b = {name : 'b'}   // 分配内存地址 60
a = b  // a 的内存地址  = b 的内存地址 ==> 60
// a原来的地址 33所占用的内存空间  就是  垃圾

深拷贝 && 浅拷贝

var a = 1;
var b = a;
 b = 2 ;//  b变 a 不变  就是深拷贝(基本类型的赋值都是深拷贝)

要考虑的是 复杂类型 的深拷贝

var a ={ name :'a'}
var b = a ;
b.name = 'b';   //这导致   a.name也变了  (浅拷贝)

复杂类型深拷贝的概念(这里没有实现)


面试题
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,941评论 25 709
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 8,685评论 0 6
  • 1 气质让你美丽,气场让你有影响力 我进入职场的第二个上司是位女性,她有很多和之前的男上司不同之处,比如:她非常女...
    小团阅读 2,967评论 0 0
  • 昨天还是前天我在一张张的手写贺卡给我的7月优秀组员,鼓励她们认真生活,努力发挥自己的潜能,遇见不一样的自己。而自己...
    芳芳乐分享阅读 1,807评论 8 0
  • 1.做了烧鸡 2.练习写字 3.跑步 4.打扫卫生 5.洗衣服
    崴崴阅读 695评论 0 0