数据结构相关
基本类型<br>String、Number、boolean、undefined、null、symbol、bigint<br>
对象引用类型<br>Object、Function、Array<br>
判断方法<br>typeof:返回一个字符串,表示未经计算的操作数的类型<br>● 可以判断:undefined、数值、字符串、boolean、function<br>● 不能判断:null与Object、Object与array<br><br>instanceof:判断实例方法,专门判断对象的具体类型<br>用于检测构造函数的prototype属性是否出现在一个实例对象的原型链上。<br>简单点说:如果B函数的显示原型对象在A对象的原型链上,返回true,否则返回false<br><br>===:比较两个东西的时候,双等会执行类型转换后比较,三等不会类型转换,类型不同直接false<br>
引出问题<br>1. undefined与null区别<br>2. 什么时候给变量赋值为null<br>3. 严格区分变量类型与数据类型<br>4. ><以及charCodeAt()方法
数据、变量、内存的理解<br>
数据:<br>
内存:<br>
变量:<br>
三者之间的联系:<br>
引出问题<br>1. 赋值与内存问题<br>2. 引用变量赋值问题<br>3. js调用函数传递变量参数,都是值传递!!!<br>4. JS引擎是如何管理内存的
函数
IIFE自调用函数
二者的第二个括号都是函数的参数<br>
-
-
注意:<br>- 立即执行函数后面有语句,需要在其后补充 `;`<br>- 作用域不同
this指向<br>
数组创建
字面量
构造函数
1. 构造函数名字首字母要大写 <br>2. 我们构造函数不需要return 就可以返回结果 <br>3. 我们调用构造函数 必须使用 new <br>4. 我们只要new Star() 调用函数就创建一个对象 ldh {} <br>5. 我们的属性和方法前面必须添加 this
new
1. new 构造函数可以在内存中创建了一个空的对象 <br>2. this 就会指向刚才创建的空对象 <br>3. 执行构造函数里面的代码 给这个空对象添加属性和方法 <br>4. 返回这个对象
语句分号
正巧参加了2012的Backbone.js conference,现场很多大神也都讨论了这个非常火热的话题。最后大家公认的结论是这样的:<br>1、加与不加是风格问题,风格争议不需要有个定论。<br>2、关键的问题在于如何“争论”,处理好冲突,学会组织语言减少争议是最重要的。<br>3、分号问题在社区内部造成了很多况日持久的口水战,这些口水战是社区的损失……因为大家在这个时候可以写更多的代码带来更多的功能。<br>4、类似的问题还有AMD的module,有的库选择兼容AMD,有的人不愿意。<br>5、公认结论是应该尊重作者的选择,不要因为这些风格问题而fork。module loader应该设法绕过这些问题,提供兼容的解决方案。<br>6、How not to argue about semicolons?Andrew Dupont的Slides在这里,欢迎阅读:http://www.slideshare.net/savethec<br><br>作者:田乐<br>链接:https://www.zhihu.com/question/20298345/answer/14690437<br>来源:知乎<br>著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。