zoukankan      html  css  js  c++  java
  • js常见知识点(2)

    2.1模式匹配

    /^HTML/        -->匹配以HTML开头的字符串  
    /[1-9][0-9]*/
    /javascript/i
    

     字符串具有可以接受RegExp的方法

    var text = 'testing:1,2,3'
    var pattern = /d+/g
    pattern.test(text)
    text.search(pattern)
    text.match(pattern)
    text.replace(pattern,'#')
    text.split(/D+/)        -->用非数字截取字符串    
    text.split(/d+/)        -->用数字截取字符串

    2.2布尔值
    false的布尔值有

    undefined
    null
    0
    -0
    NaN
    ""

    true的布尔值有

    所有其他值
    注意:Infinity -Infinity是true

    2.3null和undefined

    null和undefined都是自有类型的唯一成员
    typeof(null)             -->'object'
    typeof(undefined)    -->'undefined'

    等于运算符"=="认为两者是相等的,要使用全等运算符"==="来区分它们。
    两者都不包含任何属性和方法,也就是不能用'[]','.'来存取这两个值的成员或方法。

    2.4全局对象

    var global = this
    在客户端JavaScript中window可以替代this

    2.5包装对象

    var s = "test",n = 1,b = true
    var S = new String(s)
    var N = new Number(n)
    var B = new Number(b)
    typeof(s)     -->"string"    
    typeof(n)     -->"number"
    typeof(b)     -->"boolean"
    typeof(S)     -->"object"包装对象的类型都是object
    "=="等于运算符将原始值和其包装对象视为相等,
    "==="全等运算符将他们视为不等

    2.6 不可变的原始值和可变对象的引用

    引用类型(对象,数组)和基本类型(字符,数值等)

    var a = []
    var b = a
    b[0] = 1
    a[0]           -->1
    a === b        -->true

    对象的值都是引用,对象(或数组)的比较均是引用的比较:当且仅当他们的引用基于一个对象时,他们才相等。

    如果想得到一个数组或对象的副本,则必需显式的复制对象的每个属性和数组的每个元素。

    var a = [1,2,3,4]
    var b = []
    for(var i = 0;i < 4;i++){
        b[i] = a[i]   
    }
    b              -->[1,2,3,4]
    b == a         -->false
    b === a        -->false

     2.7类型转换

    转换值
    字符串 数字 布尔值 对象

    undefined

    null

    "undefined"

    "null"

    NaN

    0

     false

    false

    throw TypeError

    throw TypeError

    true

    false

     "true"

    "false"

     1

    0

     

     new Boolean(true)

    new Boolean(false)

    ""(空字符串)

    "1.2"(非空,数字字符串)

    "one"(非空,非数字字符串)

     

    0

    1.2

    NaN

     false

    true

    true

    new String("")

    new String("1.2")

    new String("one")

    0

    -0

    NaN

    Infinity

    -Infinity

    1(非零数字)

    "0"

    "0"

    "NaN"

    "Infinity"

    "-Infinity"

    "1"

     

    false

    false

    false

    true

    true

    true

    new  Number(0)

    new Number(-0)

    new Number(NaN)

    new Number(Infinity)

    new Number(-Infinity)

    new Number(1)

    {}(对象)

    [](空数组)

    [9](一个数字元素)

    ['a'](其他数组)

    function(){}(任意函数)

    "[object Object]"

    ""

    "9"

    使用join()方法

    javascript源码字符串

    NaN

    0

    9

    NaN

    NaN

    true

    true

    true

    true

    true

     
  • 相关阅读:
    DOM——《JavaScript高级程序设计》笔记
    (转)用js无法获取style样式的问题解析与解决方法
    【2】可视化格式模型、背景、链接、表格表单——《精通CSS‘》
    安装sql server 2008 R2,提示错误:此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。请在安装 SQL Server 2008 前将 Microsoft Visual Studio 2008 升级到 SP1。
    C#读取Word表格中的数据 (转)
    C#在Word文档指定位置处理表格
    c#操作word书签
    c# 操作word的
    函数参数压栈顺序2
    可变长参数
  • 原文地址:https://www.cnblogs.com/zhoulixue/p/6430163.html
Copyright © 2011-2022 走看看