JavaScript语言精粹学习笔记

1.JavaScript 弱类型,基于原型的继承,与Java等基于类的继承有本质区别。
2.JavaScript语法:
    2.1 空白,通常没有意义,但可以用来分隔字符。
    2.2 注释,可以支持两种方式块注释/**/和行注释//,用于*可能在代码中用到块嵌套的时候容易引起问题,建议用块注释方式。
    2.3 变量,var 被放在公共的全局名字空间中。
    2.4 在逻辑运算中,false,null,undefined ,空字符‘ ’, 数字0,及数字NaN的值都被当着false,其他被当着true,包括‘false’。
    2.5 for语句除了通常情况,还是for in形式遍历对象的所有属性,通常需要用obj.hasOwnProperty(var)来确定属性名就是该对象的成员。
    2.6 可以通过对象子面量方便指定一个对象。
3.对象:
 对象是属性的容器,每个属性都有名字和值,对象对新属性的名字和值没有约束,有原型链特性,运行对象继承另一对象的属性
    3.1 对象字面变量,包括在花括号类的零个或多个“名/值”对,属性之间用逗号分隔,值必须用引号括住,并可以支持嵌套
    3.2 检索,要检索对象中的值可以用[]括住表达式,如果是常量,则可以使用.表示法代替,优先使用后者,如果检索一个不存在的成员元素,将返回一个undefined值
    3.3 更新,对象中的值可以通过赋值语句来更新,如果属性名已存在对象中将替换,如果不存在,将会扩充
    3.4 应用,对象通过引用来传替,永远不会拷贝,每个对象都链接到一个原型对象,并可从中继承属性,通过字面变量创建的对象都链接到Object.prototype这个JavaScript中标准对象原型链接在更新时不起作用,原型是一种委托关系,查询一属性的时候,如果该对象没有,则首先进入原型对象找,直到Object.prototype中都没有,则返回undefined,在原型中添加的属性,所有基于该原型创建的对象,马上可见。
4.函数
 编程就是将一组需求分解成一组函数与数据结构的技能
    4.1 函数对象,函数就是对象,函数对象链接到Function.prototype(该对象本身被链接到Object.prototype)中,创建时有一个prototype对象属性,中有一个值为该函数名的constructor的属性
    4.2 函数字面变量,函数可以通过字面变量来创建,函数有四部分,function关键字,函数名(可省略),参数,语句, 函数可以定义在函数内部,内部函数可以访问被嵌套函数中的变量,通过函数字面变量创建的对象包含一个到外部上下文的链接,称为闭包。
    4.2 调用,函数有两个附加参数this和arguments,有四种调用模式:方法调用模式、函数调用模式、构造器调用模式 和apply调用模式,四种模式在初始化this上存在差异
         4.2.1 方法调用模式:函数保存为对象的一个属性时称为方法,this被绑定到对象上,并可通过this访问对象
         4.2.2 函数调用模式:当函数并非对象的属性时,this将被绑定到全局对象上,将导致方法不能通过内部函数帮助其工作,可以通过在方法上定义一个指向this的变量来解决
         4.2.3 构造器调用模式:在函数面前带上new将创建一个隐藏链接到该函数的prototype成员的新对象,this将被绑定到新对象上。
         4.2.4 apply方法可以用来构建一个参数数组并用其去调用函数,第一个参数选择this的值,第二个参数是参数数组
    4.3 作用域,JavaScript有函数作用域但没有块作用域

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值