码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript高级程序设计(第三版)学习笔记(2)

时间:2015-07-28 18:33:00      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:javascript   js高级程序设计   

第五章

  • 字面量表示法
var person = {
    name:"a",
    age:10,
    5: true // 数值属性名自动转换为字符串
};
  • “first name”中包含一个空格,所以不能使用点表示法来访问它,但是可以person[“first name”]
  • 数组的每一项可以保存任何类型的数据
var c = new Array(20); // 长度为20
var c = new Array("red", "blue", "green"); // 包含三个字符串的数组
  • 每当在数组末尾添加一项后,其length属性都会自动更新以反应这一变化
var c = ["red", "blue"]
c[99] = "green" // c.length = 100, 访问c[2] ~ c[98], 返回undefined
  • 检测数组 value instanceof Array 对多个全局环境时,无法判断准确
  • Array.isArray(value) 则可以

    • 使用数组的push()和pop()方法
  • 队列
    • shift()和push()方法。shift取得第一项,并且删除第一项。
    • unshift():在数组的前端添加任意个项并返回新数组的长度
  • reverse()和sort()
  • concat()可以基于当前数组中的所有项创建一个新数组
  • splice()方法
    • 删除:删除任意数量的项。两个参数。第一个表示要删除的第一项的位置,第二个表示要删除的项数
    • 插入:可以向指定位置插入任意数量的项。三个参数。起始位置,0,和要插入的项
    • 替换:可以向指定位置插入任意数量的项。三个参数。
  • indexOf()和lastIndexOf()
  • 迭代方法
    • every() 如果每一项都返回true,则返回true
    • filter() 返回true组成的数组
    • forEach()
    • map() 返回结果组成的数组
    • some() 任一项返回true,则返回true
  • 缩小方法
    • reduce() reduceRight()(从右边开始)
    • 迭代所有项,构建一个最终返回的值
  • Date类型
    • var now = new Date();
    • Date.parse()接受一个表示日期的字符创参数,然后尝试根据这个字符串返回相应日期的毫秒数
      • 支持的格式
        • 6/13/2004
        • January 12, 2004
        • Tue May 25 2004 00:00:00 GMT-0700
        • YYYY-MM-DDTHH:mm:ss.sssZ
      • 如果不能表示日期,返回NaN
    • Date.UTC()返回日期的毫秒数
      • 参数分别是面,月(0开始), 日,时,分,秒,毫秒。前两个必须
    • Date构造函数会调Date.parse()和Date.UTC()。日期和时间都基于本地时区而非GMT来创建
    • Date.now()返回调用方法时的日期和时间的毫秒数
    • toLocaleString()会按照浏览器设置的地区相适应的格式返回日期和时间
  • RegExp类型
    • var expression = / pattern / flags
    • 三种标志
      • g: 不会在发现第一个匹配项时停止
      • i:不区分大小写
      • m: 多行。到达文本末尾时还会继续查找下一行
    • RegExp对象的主要方法是exec()参数是要应用模式的字符串
      • 返回为数组,包含额外属性index和input
      • 如果是全局模式,每次调用exec都会返回下一个匹配项
    • test() 匹配时为true
function sum1(num1, num2) {
    return num1 + num2
}
var sum2 = sum1
sum1 = null
sum2(5, 5) // 10 仍然可以调用
  • 理解为什么js没有重载?因为后面定义的函数覆盖了前面的函数。
  • 函数内部属性
    • arguments
    • callee: 指向拥有这个arguments对象的函数. arguments.callee
    • caller: 调用者。 arguments.callee.caller
  • 函数方法
    • apply()
      • 两个参数,一个是在其中运行函数的作用域,另一个是参数数组
      • 在特定的作用域中调用函数
    • call()
      • 把参数都列出来
  • 包装基本类型
    • 基本类型不是对象,从逻辑上讲没有方法。后台自动完成一系列的处理
      • 创建string类型的一个实例
      • 实例上调用制定方法
      • 销毁这个实例
var s1 = "some text"
s1.color = "red"
alert(s1.color) // undefined 实例已经被销毁
var num = 10
alert(num.toFixed(num)) // "10.00"
  • number
    • toFixed()按照指定的小数位返回数值的字符串表示
    • toExponential() 格式化数值 科学计数
    • toPrecision() 可能返回固定大小,可能返回指数,具体看哪种格式最合适
  • string
    • concat() 拼接字符串
    • indexOf lastIndexOf
    • trim() 删除前置及后缀的所有空格
    • toLowerCase toUpperCase大小写转换
    • match 模式匹配,参数为RegExp对象或者正则表达式,返回数组
    • replace 第一个参数RegExp或者字符串,第二个是字符串或者函数
    • htmlEscape 转义小于号,大于号,和号,双引号
    • split 根据分隔符分隔字符串,结果为数组
  • Global对象
    • URI编码
    • encodeURI
      • 用于整个URI, 不会对URI的特殊字符进行编码,比如冒号,/ , ? #
    • encodeURIComponent
      • 用于URI中的某一段
    • decodeURI只能对使用encodeURI的解码,同理decodeURIComponent
  • eval() 参数为js语句字符串
  • Math.random() 0~1,不包括0和1
  • selectFrom()两个参数,最小值和最大值(包含)

版权声明:本文为博主原创文章,未经博主允许不得转载。

JavaScript高级程序设计(第三版)学习笔记(2)

标签:javascript   js高级程序设计   

原文地址:http://blog.csdn.net/rbb317/article/details/47108817

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!