JavaScript高级程序设计——知识点整理(Part 2)

来源:互联网 发布:python re.match 编辑:程序博客网 时间:2024/05/17 01:05

Date类型

  • 创建日期对象
    1. Date()构造函数必须传入表示该日期的毫秒数(也可以传递表示日期的字符串,会自动转化为毫秒数)
    2. 字符串日期转化为毫秒数之后可以作为Date()构造函数的参数,方法有两种:Date.parse()和Date.UTC()
    3. 直接调用new Date(表示日期的字符串),会根据参数自动选择以上两种方法转化为毫秒数作为构造函数的参数
  • 获得当前时间转化成的毫秒数
    1. Date.now()
    2. +new Date()(日期类型+转毫秒数)
    3. Number(new Date())
    4. new Date().getTime()
    5. new Date().valueOf()
  • 继承的方法
    1. toString()返回带有时区信息的日期和时间
    2. toLocaleString()返回不包含时区信息的日期和时间
    3. valueOf()返回日期的毫秒表示
      • 因为比较对象大小时,会先调用对象的valueOf()方法,然后再比较大小,所以日期可以直接用”<”和”>”比较大小

RegExp类型

  • 实例方法
    1. exec(),需要知道匹配项的文本内容时使用
    2. test(),只想知道字符串与某个模式是否匹配时使用

Function类型

  • 函数是对象,函数名是指针
  • 没有重载,函数名指针重新指向了一个新对象
  • 解析器会率先读取函数声明,使其在执行任何代码之前可以访问,只有到解析器执行到函数表达式所在的代码行,才会解释函数表达式
  • 函数内部属性
    1. argument.callee是一个指针,指向拥有这个argument对象的函数,可以动态指向当前函数名称
    2. this引用的是函数据以执行的环境对象
  • 函数属性
    1. length表示函数希望接收的命名参数的个数
    2. prototype是保存所有实例方法的真正所在
  • 函数方法

    • apply()接收两个参数:一个是在其中运行函数的作用域,另一个是参数数组
    • call()接收的是每个参数(即将参数数组逐个列举出来)
    1. 用途是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值
    2. 会直接执行,但与原函数作用域不同
    • bind()将函数的作用域改为传递给bind()的值

    不会执行,而是创建一个函数的实例

基本包装类型

  • 特殊的引用类型:Boolean、Number、String
  • 访问它们属性或方法时,会先创建一个实例,然后访问,然后销毁,生命周期只有一行

  • Boolean类型
  • Number类型
    • toFixed()按照指定的小数位返回数值的字符串表示
    • toExponential()按照指定的小数位返回指数表示法的字符串
    • toPrecision()可能返回固定大小(fixed)格式,也可能返回指数(exponential)格式,参数为所有数字的位数(不包括指数部分)
  • String类型

    • 属性
      1. length属性表示字符串包含多少个字符(双字节字符也算一个字符)
    • 字符方法
      1. charAt()和charCodeAt()
      2. ECMAScript5支持方括号加数字索引(方便)
    • 字符串操作方法
      1. 拼接
        • concat()
        • +(方便)
      2. 基于子字符串创建新字符串(相当于截取,但不改变原字符串)
        • slice()开始位置,结束位置,左闭右开
        • substring()开始位置,结束位置,左闭右开
        • substr()开始位置,子字符串长度
    • 字符串位置方法

      1. indexOf()和lastIndexOf(),找到第一个匹配的字符串就停止,返回字符串的位置,没有找到则返回-1
      2. 第二个参数表示从哪个位置开始查找,可以循环调用来找到所有匹配的字符串,代码如下
      var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";var positions = new Array();var pos = stringValue.indexOf("e");while(pos > -1) {    positions.push(pos);    pos = stringValue.indexOf("e", pos + 1);}alert(positions);    //"3,24,32,35,52"
    • trim()方法

      1. 创建一个字符串的副本,删除前置及后缀的所有空格
    • 字符串大小写转换方法
      1. toLowerCase()、toLocaleLowerCase()、toUpperCase()、toLocaleUpperCase()
    • 字符串的模式匹配方法

      • match()只接受一个参数,要么是正则表达式,要么是一个RegExp对象,返回一个数组,第一项是与整个模式匹配的字符串,之后的 每一项保存着与正则表达式中的捕获组匹配的字符串
      • search()接受参数与match()相同,返回字符串中第一个匹配项的索引,如果没找到则返回-1
      • replace()接受两个参数,第一个参数可以是RegExp对象或者一个字符串,第二个参数可以是一个字符串或者一个函数,如果第一个 参数是字符串,那么只会替换第一个子字符串,要想替换所有子字符串,就要提供一个正则表达式,而且要指定全局(g)标志
      function htmlEscape(text) {    return text.replace(/[<>"&]/g, function(match, pos, originalText) {        switch(match) {            case "<":                return "&lt;";            case ">":                return "&gt;";            case "&":                return "&amp;";            case "\"":                return "&quot;";        }    });}alert(htmlEscape("<p class=\"greeting\">Hello world!</p>"));//&lt;p class=&quot;greeting&quot;&gt;Hello world!&lt;/p&gt;
      • split()
    • localeCompare()
    a.localeCompare(b);  //a在b的前面则返回负数,即前后顺序正确的情况下返回负数,大多数情况是-1
    • fromCharCode()
      1. 将字符编码转换成一个字符串,可以传入多个参数

单体内置对象

  • Object、Array、String
  • Global对象
    1. isNaN()、isFinite()、parseInt()、parseFloat()
    2. URI编码方法
      • encodeURI()用于整个URI,不会对本身属于URI的特殊字符进行编码
      • enodeURIComponent()用于对URI中的某一段,会对它发现的任何非标准字符进行编码
    3. URI解码方法
      • decodeURI()
      • decodeURIComponent()
    4. eval()方法
      • 接受一个参数,要执行的ECMAScript或JavaScript字符串
    5. Global对象的属性
    6. window对象
  • Math对象
    1. Math对象的属性
    2. min()和max()方法
    3. 舍入方法
      • Math.ceil()向上取整
      • Math.floor()向下取整
      • Math.round()四舍五入
    4. random()方法
值 = Math.floor(Math.random() * 可能值的总数 + 第一个可能的值)function selectFrom(lowerValue, upperValue) {    var choices = upperValue - lowerValue +1;    return Math.floor(Math.random() * choices + lowerValue);}var num = selectFrom(2, 10);alert(num);  //介于2和10之间(包括2和10)的一个数值
阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 羊剪绒毛领褪色怎么办 篮球鞋买大2码怎么办 新鞋穿着脚累怎么办 买了国产乔丹怎么办 跑完1000米吐了怎么办 翻毛鞋脚染色了怎么办 翻毛皮被染色了怎么办 防鹿皮绒鞋染色怎么办 亚瑟士跑鞋挤脚怎么办 亚瑟士跑鞋很紧怎么办 飞线鞋面破了怎么办 新袜子穿了很滑怎么办 鞋底硬脚底板疼怎么办 新鞋前面太硬怎么办 新鞋子鞋底太硬怎么办 不到一米八的身高想扣篮怎么办 鞋胶粘在鞋面上怎么办 鞋子上沾了胶怎么办 休闲鞋号码大了半码怎么办 高跟鞋大了一码怎么办 浅口单鞋买大了怎么办 新鞋子磨大脚趾怎么办 鞋前面磨大脚趾怎么办 白鞋子蹭黑了怎么办 夏天穿皮鞋捂脚怎么办 耐克赤足掉漆怎么办 鞋子买回来小了怎么办 布鞋大了一码怎么办 鞋子买小了一码怎么办 运动鞋小了一码怎么办 帆布鞋小了一码怎么办 脚踝骨韧带断了怎么办 咖啡喝多了失眠怎么办 奥迪q7电瓶没电怎么办 一岁宝宝坐不稳怎么办 2岁宝宝不肯把尿怎么办 踢足球上肢和下肢不协调怎么办 ppt文字放映时重叠怎么办 月子8天腰背疼怎么办 生完五天腰背疼怎么办 生完孩子腰不好怎么办