js_读【javascript面向对象编程指南】笔记
写在前面:
工欲善其事,必先利其器。编程的器,是前人总结的经验,常言道站在巨人的肩膀上开发,往往比自己另辟蹊径容易的多。经验藏于书,故有书中自有颜如玉,书中自有黄金屋,我也一度认为读书要花费很多时间,获取知识效率很慢,也不知道读书有什么用,因为书读完了未见得立刻提供效果,比如打一盘王者荣耀,吃一把鸡的快感。为什么还要推荐你去读书?其一读书可以定性,其二能够出书的人对都是在他擅长的领域达到比较高水平的人。如果我们决定要走这样一条路,刚好有个已经去过那里的人告诉你怎么走这条路会更快到达那里,我们何乐而不为呢?当然现实生活中有导师愿意带你最好不过。推荐使用微信读书APP,腾讯出版,大厂做出来的应用不会差到那里去的。
还有一个获取知识的来源就是网络,专注技术的博客,博客提供的是部分的知识片段,书本提供的是系统的知识框架。双剑合璧,相信你在编程的世界里游刃有余。
笔记:
学而不思则罔,思而不学则殆。写句话勉励一下自己做笔记。
javascript是一门编程语言,你常挂在嘴边的javascript,你是否真的理解它呢?
第一部分:
从javascript的数据类型开始,W3c中javascript有7种数据类型:
字符串、数字、布尔、数组、对象、Null、Undefined
而这本书认为只有5种基本数据类型:
字符串、数字、布尔、Null、Undefined
其他的就是非基本类型(即是对象),所以就有javascript中一切的是对象的说法。
可以使用js内置函数typeof()对你的数据进行类型检查。
1 var Arr = [25], 2 Object = {age:25}, 3 Number = 25, 4 Boolean = true, 5 Null = null, 6 Undefined = undefined, 7 String = 'string'; 8 typeof(Arr);//object 9 typeof(Object);//object 10 typeof(Number);//number 11 typeof(Boolean);//boolean 12 typeof(Null);//object 13 typeof(Undefined);//undefined 14 typeof(String);//string
typeof(null)也是object,但我们还是会把null当作是一种数据类型。
第二部分:
变量:一个可变的容器,用于装数据,前面提到的基本数据类型。在javascript中使用var let cost声明一个变量。
javascript是基于词法作用域的,什么意思?就是当我们定义一个变量的时候就会有作用域的产生,简单点说就是我们定义这个变量的时候也就同时给这个变量添加了作用域。作用域有全局作用域和局部作用域两种,ES6提供了用let和cost声明的块作用域,有三种作用域。