美文网首页
note021js里的类型

note021js里的类型

作者: slTrust | 来源:发表于2018-01-05 00:01 被阅读0次

类型转换

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也变了  (浅拷贝)

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


面试题

相关文章

  • note021js里的类型

    类型转换 toString() Boolean()方法 5个特殊值 Falsy 转为number类型 5种方式如图...

  • JS 里的类型

    null 上面报错的意思:toString点前面的是null,因为null没有toString这个API,所以会报...

  • JS里的类型

    1.Number2.String3.Null4.undefined5.symbol6.boolean以上都是简单类...

  • JS里的类型

    JS里的类型 类型转换 基本类型number string boolean symbol null undefin...

  • JS里的类型

    数据类型转换 转换为字符串 toString 方法// number 类型var n = 1n.toString(...

  • JS 里的类型

    JS 里的类型 number类型转string:toString、String()全局函数、加上空字符串boole...

  • JS 里的类型

    1.JS 里的数据 1.1.转化为字符串(console.log就是这个原理) 1.1.1.tostring nu...

  • JS 里的类型

    类型转换 任意类型转字符串 String(x) x.toString() x + ''使用空字符串,此方法简便好用...

  • Swift里的值类型与引用类型 ◉•⦿

    ◉ Swift里面的类型分为两种: 值类型(Value Types):每个实例都保留了一分独有的数据拷贝,一般以结...

  • Swift 里的值类型与引用类型

    Swift 里面的类型分为两种: 值类型(Value Types):每个实例都保留了一分独有的数据拷贝,一般以结构...

网友评论

      本文标题:note021js里的类型

      本文链接:https://www.haomeiwen.com/subject/dvmrnxtx.html