JS深入浅出

一、数据类型

1、六种原始数据类型


六种数据类型.png

2、隐式转换

  • “+” 与 “-”
“37”-7 //30
"37" + 7 //377
  • “==”和"==="
    "=="
    类型相同,同===
    类型不同,尝试类型转换和比较:
    null == undefined 相等
    number == string 转 number
1 == "1.0" //true

boolean ==? 转number

1== true //true

object == number | string 尝试对象转为基本类型

new String('hi') == 'hi' //true

===
类型不同,返回false
类型相同:
undefined === undefined
null === null
NaN != NaN
new Object != new Object

  • 包装类型
    number、string、boolean有包装类型
包装类型.png

str是string(基本类型),本身是没有方法的。当尝试把基本类型的str当做对象一样访问时,例如:str.length;
解释器会创建一个临时的包装对象,执行了str.length之后,这个包装对象会立即销毁。
所以,给str添加属性t并赋值能执行成功,但是执行完之后会立即销毁,所以再次访问这个属性时就显示undefined了,因为又重新创建了一个新的包装对象。

  • 类型检测
    typeof:适合基本类型和函数对象的判断。遇到null失效。
typeof  100  //number
typeof  true  //boolean
typeof  Function  //function
typeof  (undefined) //undefined
typeof  new Object()  //object
typeof  [1, 2]  //object
typeof  NaN  //number
typeof null  //object 历史原因,先记住

instanceof:判断对象。原理:利用原型链。在不同iframe和window间检测时失效。

Object.prototype.toString:判断对象类类型。遇到null和undefined失效。
constructor:指向构造器,可被改写,使用时要小心。
duck type:

二、表达式、运算符

<b>表达式</b>是一种JS短语,可使JS解释器用来产生一个值。 ---《JS权威指南》
1、原始表达式:常量、直接量,如3.14,“test”;关键字,如null,this,true;变量,如i,k,j;
2、初始化表达式:数组、对象的初始化表达式[1,2]、[1,,,4]、{x:1,y:2}
3、函数表达式

var fe = function(){};
(function(){console.log('hello')})();

4、属性访问表达式

var o = {x:1};
o.x
o['x']

5、调用表达式

func();

6、对象创建表达式

new Func(1,2);
new Object

<b>运算符</b>
1、条件运算符 -- c?a:b
2、逗号运算符 -- a,b(少见,面试前看看)
3、delete delete-- obj.x
4、in -- "document" in window
5、instanceof -- obj instanceof Func
6、new -- new ClsName()
7、this -- return this
8、typeof -- typeof 100
9、void -- void 0

三、语句

function foo() {
var a = b = 1;
}
foo();
console.log(typeof a);  //'undefined'
console.log(typeof b);  //'number'

其中隐式地创建了全局变量b。

四、对象

五、数组

六、函数

七、this

八、闭包和作用域

九、OOP

十、正则与模式匹配

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,711评论 0 13
  • 他是一个没什么小心思的理工科男 虽说安全感是自己给的 不过 他带给我的安全感也挺足的 当然可不是...
    彬丫头阅读 2,880评论 0 0
  • 说到底是一个截止,何曾想过往后!接受事实地改变,无论时刻给自己美好祝福。心炫线牵绊万斯,春秋有欣。百转千回蓝天白云...
    给你的歌2019阅读 2,444评论 0 1
  • 明天就是训练营最后一天了。谢谢训练营小伙伴们对我的信任。 希望这30天的训练营对你们有所帮助,让你们感受到英语阅读...
    Freedom_Pursuer阅读 2,507评论 8 2
  • 那是发生在海边的故事。 某天某地的某个海边小镇,住着一个少年。他的名字很奇怪,他叫“我”。 我很喜欢看海。某天夕阳...
    三王丰阅读 2,338评论 1 2

友情链接更多精彩内容