js基础篇之一

字数 1171阅读 14

1、什么叫优雅降级和渐进增强?


优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效。

 渐进增强:以恪守web标准的标签为基础,即在所有浏览器中可用。然后通过css样式和必要的js来为更先进的浏览器提供渐进式的增强体验。构建网站时分层开发,主要关注网站内容的易访问性和用户的模式。

2、null和undefined的区别?


null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN。

当声明的变量还未被初始化时,变量的默认值为undefined;null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

undefined表示 “缺少值”,就是此处应该有一个值,但是还没有定义。典型用法是:

(1). 变量被声明了,但没有赋值时,就等于 undefined

(2). 调用函数时,应该提供的参数没有提供,该参数等于 undefined

(3). 对象没有赋值的属性,该属性的值为 undefined

(4). 函数没有返回值时,默认返回 undefined(函数始终都会有一个返回值,即便不是显式返回,也会隐式返回一个undefined。)

null表示“没有对象”,即该处不应该有值。典型用法是:

(1). 作为函数的参数,表示该函数的参数不是对象

(2). 作为对象原型链的终点

3、变量提升


当js执行过程进入新的函数时,这个函数内被声明的所有变量都会被移动(或者说提升)到函数最开始的地方。被提升的只有变量的声明,与之相关的赋值操作并不会被提升。函数域始终优于全局域。

4、js常用的“五六七”


(1)五种基本类型:number、string、boolean、null、undefined

(2)六种返回格式:number、string、boolean、undefined、object、function(typeof返回的值)

(3)七种数据类型:number、string、boolean、null、undefined、array、object

5、获取全局对象的方法


利用浏览器提供的全局对象window;在构造器函数之外使用this关键字。不使用new操作符调用构造函数的时候,this值指向的是全局对象,也就是说,当我们声明了一个构造函数,但没有通过new来调用它的时候,代码就会返回undefined。

6、prototype与Property的用法区别

prototype为类型(函数)定义动态的属性和方法,而Property为类型定义“静态”的属性和方法。

例子一(JavaScript中允许添加行为的类型):可以在类型上使用proptotype来为类型添加行为。这些行为只能在类型的实例上体现。 JS中允许的类型有Array, Boolean, Date, Enumerator, Error, Function, Number, Object, RegExp, String

例子二(prototype使用的限制):在实例上不能使用prototype,否则发生编译错误

例子三(如何定义类型上的静态成员):用Property, 可以为类型定义“静态”的属性和方法,直接在类型上或实例上定义即可

js对象的原型(prototype)自己本身也可以是对象,也可以有属性(property),对于js对象的(prototype)的赋值操作跟普通对象属性的创建 没什么不同。

通过构造器函数的prototype属性来增加该构造器所能提供的功能,如果不想将属性或方法逐一添加到原型对象中,那么,可以另外定义一个对象,然后将其覆盖到之前的原型上。在向prototype属性中添加完所有的方法和属性之后,就可以直接用该构造器新建对象

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
  • 转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课...
  • 今天去临邑信业商厦看样品选了下货,秋兔在这边确实打开市场了,她们都说秋衣套除稻草人以外就秋兔卖的好,原来柜组只能做...
  • http://www.cnblogs.com/liuling/p/2014-4-19-04.html
  • 塞林格《破碎故事之心》中讲到:有人认为爱是性,是婚姻,是清晨6点的吻,是一堆孩子,也许真是这样的,莱斯特小姐。但是...