• javascript基础知识


    1.alert()
    2.document.getElementById("demo").innerHTML="javascript" 给固定的标签加内容
    3.if isNaN(x) {alert("不是数字")};验证用户的输入
    4.浏览器会解释并执行位于 <script> 和 </script>之间的 JavaScript 代码
    5.array定义数组:[40, 100, 1, 5, 25, 10];
      object定义对象:{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
      function定义函数:function myFunction(a, b) { return a * b;}
    6.JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值;
    7.语句是用分号分隔;
    8.JavaScript 关键字必须以字母、下划线(_)或美元符($)开始。
      后续的字符可以是字母、数字、下划线或美元符(数字是不允许作为首字符出现的,以便 JavaScript 可以轻易区分开关键字和数字)。
    9.JavaScript 对大小写是敏感的。
    10.JavaScript 可以分批地组合起来。代码块以左花括号开始,以右花括号结束。代码块的作用是一并地执行语句序列。

    11.
    break 用于跳出循环。
    catch 语句块,在 try 语句块执行出错时执行 catch 语句块。
    continue 跳过循环中的一个迭代。
    do ... while 执行一个语句块,在条件语句为 true 时继续执行该语句块。
    for 在条件语句为 true 时,可以将代码块执行指定的次数。
    for ... in 用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
    function 定义一个函数
    if ... else 用于基于不同的条件来执行不同的动作。
    return 退出函数
    switch 用于基于不同的条件来执行不同的动作。
    throw 抛出(生成)错误 。
    try 实现错误处理,与 catch 一同使用。
    var 声明一个变量。
    while 当条件语句为 true 时,执行语句块。

    12.可以在文本字符串中使用反斜杠对代码行进行换行。
    13.JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译
    14.多行注释以 /* 开始,以 */ 结尾。单行注释//。HTML注释<!--注释 -->
    15.变量必须以字母、$、_ 符号开头。var lastname="Doe", age=30, job="carpenter";
    16.数组:var cars=new Array("Saab","Volvo","BMW");
    17.对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义
    18.va当您声明新变量时,可以使用关键词 "new" 来声明其类型,也可以不声明类型,直接赋值
    var carname=new String;
    var x=      new Number;
    var y=      new Boolean;
    var cars=   new Array;
    var person= new Object;
    19.对象方法的创建:methodName : function() { code lines };对象方法的使用:objectName.methodName()
    20.关键词 function 必须是小写的,函数通过return实现将值返回到调用它的地方。在函数内部声明的变量是局部变量。
    21.如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。carname="Volvo";
    22.<button onclick="this.innerHTML=Date()">The time is?</button>,代码将修改自身元素的内容 (使用 this.innerHTML):

    23.HTML常见事件
                     onchange HTML 元素改变
                     onclick 用户点击 HTML 元素
                     onmouseover 用户在一个HTML元素上移动鼠标
                     onmouseout 用户从一个HTML元素上移开鼠标
                     onkeydown 用户按下键盘按键
                     onload 浏览器已完成页面的加载,包括所有的大图片、音频、视频在内的所有页面元素

    24.你可以使用索引位置来访问字符串中的每个字符: var a="VOLVO XC60";var b=a[3];

    25.字符串添加转义字符来使用引号:
    26.使用new创建的是对象,直接声明的是字符,String对象会拖慢执行速度。而且字符串和对象不会绝对相等。===为绝对相等,数据类型和值都必须相等
     var firstName = "John" //String
     var firstName = new String("John") //Object

    27.字符串方法
    charAt()        返回指定索引位置的字符
    charCodeAt()    返回指定索引位置字符的 Unicode 值
    concat() 连接两个或多个字符串,返回连接后的字符串
    fromCharCode() 将字符转换为 Unicode 值
    indexOf() 返回字符串中检索指定字符第一次出现的位置,从0开始,空格也占一个字符,只对字符串有效
    lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
    localeCompare() 用本地特定的顺序来比较两个字符串
    match()         找到一个或多个正则表达式的匹配
    replace() 替换与正则表达式匹配的子串
    search() 检索与正则表达式相匹配的值
    slice()         提取字符串的片断,并在新的字符串中返回被提取的部分
    split()         把字符串分割为子字符串数组
    substr() 从起始索引号提取字符串中指定数目的字符
    substring() 提取字符串中两个指定的索引号之间的字符
    toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
    toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
    toLowerCase()         把字符串转换为小写
    toString()         返回字符串对象值
    toUpperCase()           把字符串转换为大写
    trim()                移除字符串首尾空白
    valueOf()           返回某个字符串对象的原始值


    1.null、Array、Date 的数据类型是 object,未定义变量的数据类型为 undefined
    2.constructor返回构造函数,如“bolue".contructor  //返回function String() { [native code] }
      return myArray.constructor.toString().indexOf("Array") > -1;判断myArray 是不是数组

    3."John".toString() 和 String("John")有同样的结果

    4.Operator + 可用于将变量转换为数字:
        var y = "John";      // y 是一个字符串
        var x = + y;      // x 是一个数字 NaN
    5.可以自动转换类型,当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型

    6.自动转换为字符串,当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:
    {name:"Fjohn"}  // toString 转换为 "[object Object]"
     [1,2,3,4]       // toString 转换为 "1,2,3,4"
     new Date()      // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"
     myVar = 123             // toString 转换为 "123"
     myVar = true            // toString 转换为 "true"
     myVar = false           // toString 转换为 "false"

    7.正则表达式常用连个字符串方法:search()和replace()
    search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
    eplace(str_new ,str2_old ) 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。str_new可以是字符串也可以是正则表达式。
    i 执行对大小写不敏感的匹配。
    g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
    m 执行多行匹配。
    [abc] 查找方括号之间的任何字符。
    [0-9] 查找任何从 0 至 9 的数字。
    (x|y) 查找任何以 | 分隔的选项。
    d 查找数字。
    s 查找空白字符。
     匹配单词边界。
    uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。
    n+ 匹配任何包含至少一个 n 的字符串。
    n* 匹配任何包含零个或多个 n 的字符串。
    n? 匹配任何包含零个或一个 n 的字符串。
    8.使用 console.log() 方法在调试窗口上打印 JavaScript 值。
    9.debugger 关键字用于停止执行 JavaScript,并调用调试函数。

    10 . JavaScript 对象、属性和方法
    Array Date eval function hasOwnProperty
    Infinity isFinite isNaN isPrototypeOf length
    Math NaN name Number Object
    prototype String toString undefined valueOf

    11 . HTML 事件句柄
    onblur onclick onerror onfocus
    onkeydown onkeypress onkeyup onmouseover
    onload onmouseup onmousedown onsubmit

    12 . JSON用于存储和传输数据的格式。是一个文本。
    var JSONObject = { "name":"John Johnson", "street":"Oslo West 16",  "age":33, "phone":"555 1234567"};
    JSONObject.name    //调用
    数据为 键/值 对。
    数据由逗号分隔。
    大括号保存对象
    方括号保存数组
    使用 JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
    var text = '{ "employees" : [' +                              \定义一JOSON
    '{ "firstName":"John" , "lastName":"Doe" },' +
    '{ "firstName":"Anna" , "lastName":"Smith" },' +
    '{ "firstName":"Peter" , "lastName":"Jones" } ]}';

    header('Content-type: application/json');//获取回调函数名

    13. void:该操作符指定要计算一个表达式但是不返回值。

    14.href="#",# 包含了一个位置信息,默认的锚是#top 也就是网页的上端。
    而href=avascript:void(0), 仅仅表示一个死链接。
    在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。

    15.函数function不是一个可执行语句,所以不以分号结束。函数表达式存储在变量后,变量可以作为一个函数使用。
    函数可以通过函数构造器(Function())定义。
    var myFunction =new Function("a","b","return a*b")
    var myFunction = function (a, b) {return a * b}   //两者一样的,程序里面一定要new才可以用,JS不一定。
    arguments.length 属性返回函数调用过程接收到的参数个数,arguments是个数组,arguments[0]。
    toString() 方法将函数本身作为一个字符串返回。
    函数定义作为对象的属性,称之为对象方法,函数如果用于创建新的对象,称之为对象的构造函数。
     javaScript 函数定义时参数没有指定数据类型。
    函数可以自我调用。

    16.一般而言,在javascript中,this指向函数执行时的当前对象。浏览器串口是window对象。定义的函数都会自动变成windows的函数。

    17.变量声明是如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义。

    18.绝对不要在文档加载完成之后使用 document.write()。这会覆盖该文档。

    19.向 button 元素分配 onclick 事件:
    <script>   document.getElementById("myBtn").onclick=function(){displayDate()};  </script>

    20.onload 和 onunload 事件会在用户进入或离开页面时被触发。onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
    onload 和 onunload 事件可用于处理 cookie。

    21.onchange 事件常结合对输入字段的验证来使用。

    22.onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。

    23.当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。

    24.onfocus 当输入字段获得焦点时

    1.element.addEventListener(event, function, useCapture);   //注意:不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 "onclick"。
    第一个参数是事件的类型 (如 "click" 或 "mousedown").
    第二个参数是事件触发后调用的函数。
    第三个参数是个布尔值用于描述事件是冒泡还是捕获。该参数是可选的。false冒泡(内部元素的事件会先被触发),true是捕获传递(外部元素的事件会先被触发)
    窗口大小时添加事件监听:window.addEventListener("resize", myFunction);

    2.当传递参数值时,使用"匿名函数"调用带参数的函数:element.addEventListener("click", function(){ myFunction(p1, p2); });
     IE 8 及更早 IE 版本,Opera 7.0及其更早版本不支持 addEventListener() 和 removeEventListener() 方法。但是,对于这类浏览器版本可以使用 detachEvent() 方法来移除事件句柄:
    element.attachEvent(event, function);
    element.detachEvent(event, function);

    3.跨浏览器解决方法:
    var x = document.getElementById("myBtn");
    if (x.addEventListener) {                    // 所有主流浏览器,除了 IE 8 及更早版本
                                             x.addEventListener("click", myFunction);
                                         }
    else if (x.attachEvent) {                  // IE 8 及更早版本
                                            x.attachEvent("onclick", myFunction);
                                         }

    4.DOM元素创建(节点)
    var para=document.createElement("p");  //首先创建文本节点
    var nodetxt=document.createTextNode("内容");  //向 <p> 元素追加这个文本节点
    par.appendChild(nodetxt);
    document.getElementById("div1").appendChild(para);
    从父元素中删除子元素:parent.removeChild(child);
    然后使用其 parentNode 属性来找到父元素:child.parentNode.removeChild(child);

    5.对象只是带有属性和方法的特殊数据类型。

    6使用函数来构造对象:
    function person(firstname,lastname,age,eyecolor)
    {
    this.firstname=firstname;
    this.lastname=lastname;
    this.age=age;
    this.eyecolor=eyecolor;
    }
    一旦您有了对象构造器,就可以创建新的对象实例,就像这样:
    var myFather=new person("John","Doe",50,"blue");
    javascript是基于属性,不基于类

    7.果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。绝不要在数字前面写零,除非您需要进行八进制转换。

    8.NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。用 isNaN() 全局函数来判断一个值是否是 NaN 值。

    9.Number数字可以是数字或者对象
    var x = 123;
    var y = new Number(123);
    typeof(x)         // returns Number
    typeof(y)        // returns Object

    10.数字属性
    constructor 返回对创建此对象的 Number 函数的引用。
    MAX_VALUE 可表示的最大的数。
    MIN_VALUE 可表示的最小的数。
    NaN 非数字值。
    NEGATIVE_INFINITY 负无穷大,溢出时返回该值。
    POSITIVE_INFINITY                 正无穷大,溢出时返回该值。
    prototype 使您有能力向对象添加属性和方法。

    11.数字方法

    方法 描述
    toString 把数字转换为字符串,使用指定的基数。
    toLocaleString 把数字转换为字符串,使用本地数字格式顺序。
    toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字。
    toExponential 把对象的值转换为指数计数法。
    toPrecision 把数字格式化为指定的长度。
    valueOf 返回一个 Number 对象的基本数字值。

    12.match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
    lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。
    replace("old","new") 方法在字符串中用某些字符替换另一些字符。
    字符串大小写转换使用函数 toUpperCase() / toLowerCase():
    字符串使用str.split()函数分割

    13.Math 对象提供多种算数值类型和函数。无需在使用这个对象之前对它进行定义。如:Math.PI,Math.sqrt(16)
      abs(x) 返回数的绝对值。
    acos(x) 返回数的反余弦值。
    asin(x) 返回数的反正弦值。
    atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。
    atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。
    ceil(x) 对数进行上舍入。
    cos(x) 返回数的余弦。
    exp(x) 返回 e 的指数。
    floor(x) 对数进行下舍入。
    log(x) 返回数的自然对数(底为e)。
    max(x,y) 返回 x 和 y 中的最高值。
    min(x,y) 返回 x 和 y 中的最低值。
    pow(x,y) 返回 x 的 y 次幂。
    random() 返回 0 ~ 1 之间的随机数。
    round(x) 把数四舍五入为最接近的整数。
    sin(x) 返回数的正弦。
    sqrt(x) 返回数的平方根。
    tan(x) 返回角的正切。
    toSource() 返回该对象的源代码。
    valueOf() 返回 Math 对象的原始值。

    E 返回算术常量 e,即自然对数的底数(约等于2.718)。
    LN2 返回 2 的自然对数(约等于0.693)。
    LN10 返回 10 的自然对数(约等于2.302)。
    LOG2E 返回以 2 为底的 e 的对数(约等于 1.414)。
    LOG10E 返回以 10 为底的 e 的对数(约等于0.434)。
    PI 返回圆周率(约等于3.14159)。
    SQRT1_2 返回返回 2 的平方根的倒数(约等于 0.707)。
    SQRT2 返回 2 的平方根(约等于 1.414)。

    14.var patt=new RegExp(pattern,attributes );
    var patt=/pattern/modifiers; 
    参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
    参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。
    当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 ).
    var re = new RegExp("\w+");
    var re = /w+/;      //相等

    15.方括号
    表达式 描述
    [abc] 查找方括号之间的任何字符。
    [^abc] 查找任何不在方括号之间的字符。
    [0-9] 查找任何从 0 至 9 的数字。
    [a-z] 查找任何从小写 a 到小写 z 的字符。
    [A-Z] 查找任何从大写 A 到大写 Z 的字符。
    [A-z] 查找任何从大写 A 到小写 z 的字符。
    [adgk] 查找给定集合内的任何字符。
    [^adgk] 查找给定集合外的任何字符。
    (red|blue|green) 查找任何指定的选项。

    16.元字符
    元字符 描述
    . 查找单个字符,除了换行和行结束符。
    w 查找单词字符。
    W 查找非单词字符。
    d 查找数字。
    D 查找非数字字符。
    s 查找空白字符。
    S 查找非空白字符。
     匹配单词边界。
    B 匹配非单词边界。
     查找 NUL 字符。
     查找换行符。
    f 查找换页符。
     查找回车符。
     查找制表符。
    v 查找垂直制表符。
    xxx 查找以八进制数 xxx 规定的字符。
    xdd 查找以十六进制数 dd 规定的字符。
    uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

    17.量词
    量词 描述
    n+ 匹配任何包含至少一个 n 的字符串。
    n* 匹配任何包含零个或多个 n 的字符串。
    n? 匹配任何包含零个或一个 n 的字符串。
    n{X} 匹配包含 X 个 n 的序列的字符串。
    n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。
    n{X,} 匹配包含至少 X 个 n 的序列的字符串。
    n$ 匹配任何结尾为 n 的字符串。
    ^n 匹配任何开头为 n 的字符串。
    ?=n 匹配任何其后紧接指定字符串 n 的字符串。
    ?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

    18.RegExp 对象属性
    属性 描述 FF IE
    global RegExp 对象是否具有标志 g。 1 4
    ignoreCase RegExp 对象是否具有标志 i。 1 4
    lastIndex 一个整数,标示开始下一次匹配的字符位置。 1 4
    multiline RegExp 对象是否具有标志 m。 1 4
    source 正则表达式的源文本。 1 4
    RegExp 对象方法
    方法 描述 FF IE
    compile 编译正则表达式。 1 4
    exec 检索字符串中指定的值。返回找到的值,并确定其位置。 1 4
    test 检索字符串中指定的值。返回 true 或 false。 1 4
    支持正则表达式的 String 对象的方法
    方法 描述 FF IE
    search 检索与正则表达式相匹配的值。 1 4
    match 找到一个或多个正则表达式的匹配。 1 4
    replace 替换与正则表达式匹配的子串。 1 4
    split 把字符串分割为字符串数组。 1 4

    19.浏览器的宽度和高度
    var w=window.innerWidth|| document.documentElement.clientWidth|| document.body.clientWidth;
    var h=window.innerHeight|| document.documentElement.clientHeight|| document.body.clientHeight;
    window.open() - 打开新窗口
    window.close() - 关闭当前窗口
    window.moveTo() - 移动当前窗口
    window.resizeTo() - 调整当前窗口的尺寸

    20.window.screen对象在编写时可以不使用 window 这个前缀。
    screen.availWidth - 可用的屏幕宽度
    screen.availHeight - 可用的屏幕高度

    21.window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。
    location.hostname 返回 web 主机的域名
    location.pathname 返回当前页面的路径和文件名//返回当前 URL 的路径名:
    location.port 返回 web 主机的端口 (80 或 443)
    location.protocol 返回所使用的 web 协议(http:// 或 https://)
    location.href 属性返回当前页面的 URL。
    location.assign() 方法加载新的文档。

    22.history.back() 方法加载历史列表中的前一个 URL。history forward() 方法加载历史列表中的下一个 URL。

    23.window.navigator 对象包含有关访问者浏览器的信息。

    24.示框经常用于提示用户在进入页面前输入某个值:var text=window.prompt("sometext","defaultvalue");

    25.弹窗使用 反斜杠 + "n"( ) 来设置换行。alert("Hello How are you?");

    26.计时事件
    setInterval()-间隔指定的毫秒数不停地执行指定的代码
    clearInterval() 方法用于停止 setInterval() 方法执行的函数代码。
    setTimeout()-暂停指定的毫秒数后执行指定的代码
    clearTimeout() 方法用于停止执行setTimeout()方法的函数代码。


     

  • 相关阅读:
    laravel windows下安装 gulp 和 laravel-elixir
    php-新特性,生成器的创建和使用
    laravel 使用极验验证码
    laravel 发送邮件
    laravel安装 redis 并驱动 session
    理解HTTP协议(转载)
    iOS中Block的用法,举例,解析与底层原理
    iOS自定义结构体
    dyld环境变量
    iOS中的静态库与动态库,区别、制作和使用
  • 原文地址:https://www.cnblogs.com/guanguan-/p/5417055.html
Copyright © 2020-2023  润新知