JavaScript

1.JavaScript web :
    1.HTML 定义了网页的内容
    2.CSS 描述了网页的布局
    3.JavaScript 网页的行为
2.JavaScript 是脚本语言
    JavaScript 是一种轻量级的编程语言。
    JavaScript 是可插入 HTML 页面的编程代码。
    JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
3.JavaScript 输出    
    1.使用 window.alert() 弹出警告框。
    2.使用 document.write() 方法将内容写到 HTML 文档中。
    3.使用 innerHTML 写入到 HTML 元素。
        操作 HTML 元素
            如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(id) 方法。
            请使用 "id" 属性来标识 HTML 元素,并 innerHTML 来获取或插入元素内容:
    4.使用 console.log() 写入到浏览器的控制台。
4.JavaScript 语法
    1.JavaScript 变量
        1.在编程语言中,变量用于存储数据值。
        2.JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值:
        3.您可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:
        4.如果重新声明 JavaScript 变量,该变量的值不会丢失:
    2.JavaScript 语句
        在 HTML 中,JavaScript 语句向浏览器发出的命令。
        语句是用分号分隔:
    3.JavaScript 注释
        不是所有的 JavaScript 语句都是"命令"。双斜杠 // 后的内容将会被浏览器忽略:
        JavaScript 多行注释
        多行注释以 /* 开始,以 */ 结尾。
    4.JavaScript 函数
        JavaScript 语句可以写在函数内,函数可以重复引用:
        引用一个函数 = 调用函数(执行函数内的语句)。
        function myFunction(a, b) {
    return a * b;                           
        }
    5.JavaScript 语句标识符
        语句     描述
        break                     用于跳出循环。
        catch                 语句块,在 try 语句块执行出错时执行 catch 语句块。
        continue             跳过循环中的一个迭代。
        do ... while     执行一个语句块,在条件语句为 true 时继续执行该语句块。
        for                     在条件语句为 true 时,可以将代码块执行指定的次数。
        for ... in         用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作)。
        function             定义一个函数
        if ... else     用于基于不同的条件来执行不同的动作。
        return                 退出函数
        switch                 用于基于不同的条件来执行不同的动作。
        throw                 抛出(生成)错误 。
        try                     实现错误处理,与 catch 一同使用。
        var                     声明一个变量。
        while                 当条件语句为 true 时,执行语句块。
    6.JavaScript 数据类型
        1.JavaScript 数组
            下面的代码创建名为 cars 的数组:
            var cars=new Array();
            cars[0]="Saab";
            cars[1]="Volvo";
            cars[2]="BMW";
            或者 (condensed array):
            var cars=new Array("Saab","Volvo","BMW");
        2.Undefined 和 Null
            Undefined 这个值表示变量不含有值。
            可以通过将变量的值设置为 null 来清空变量。
    7.JavaScript 对象
        1.对象属性
            可以说 "JavaScript 对象是变量的容器"。
            但是,我们通常认为 "JavaScript 对象是键值对的容器"。
            键值对通常写法为 name : value (键与值以冒号分割)。
            键值对在 JavaScript 对象通常称为 对象属性。
            对象键值对的写法类似于:
                PHP 中的关联数组
                Python 中的字典
                C 语言中的哈希表
                Java 中的哈希映射
                Ruby 和 Perl 中的哈希表
        2.访问对象属性
            你可以通过两种方式访问对象属性:
            person.lastName;
            person["lastName"];
        3.对象方法
            对象的方法定义了一个函数,并作为对象的属性存储。
            对象方法通过添加 () 调用 (作为一个函数)。
            该实例访问了 person 对象的 fullName() 方法:
                name = person.fullName();
            如果你要访问 person 对象的 fullName 属性,它将作为一个定义函数的字符串返回:
                name = person.fullName;
    8.常见的HTML事件
        onchange             HTML 元素改变
        onclick             用户点击 HTML 元素
        onmouseover     用户在一个HTML元素上移动鼠标
        onmouseout         用户从一个HTML元素上移开鼠标
        onkeydown         用户按下键盘按键
        onload                 浏览器已完成页面的加载
    9.字符串方法
        运算符用于把文本值或字符串变量加起来(连接起来)。
        如需把两个或多个字符串变量连接起来,请使用 + 运算符。
        两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串,如下实例:
        运算符     描述     例子
        &&     and     (x < 10 && y > 1) 为 true
        ||     or     (x==5 || y==5) 为 false
        !     not     !(x==y) 为 true


        方法                                                         描述
        charAt()                             返回指定索引位置的字符
        charCodeAt()                     返回指定索引位置字符的 Unicode 值
        concat()                             连接两个或多个字符串,返回连接后的字符串
        fromCharCode()                 将 Unicode 转换为字符串
        indexOf()                         返回字符串中检索指定字符第一次出现的位置
        lastIndexOf()                 返回字符串中检索指定字符最后一次出现的位置
        localeCompare()             用本地特定的顺序来比较两个字符串
        match()                             找到一个或多个正则表达式的匹配
        replace()                         替换与正则表达式匹配的子串
        search()                             检索与正则表达式相匹配的值
        slice()                             提取字符串的片断,并在新的字符串中返回被提取的部分
        split()                             把字符串分割为子字符串数组
        substr()                             从起始索引号提取字符串中指定数目的字符
        substring()                     提取字符串中两个指定的索引号之间的字符
        toLocaleLowerCase()     根据主机的语言环境把字符串转换为小写
        toLocaleUpperCase()     根据主机的语言环境把字符串转换为大写
        toLowerCase()                 把字符串转换为小写
        toString()                         返回字符串对象值
        toUpperCase()                 把字符串转换为大写
        trim()                                 移除字符串首尾空白
        valueOf()                         返回某个字符串对象的原始值
    10.JavaScript if...Else 语句
        使用 if....else if...else 语句来选择多个代码块之一来执行。
        语法
        if (condition1)
        {
                当条件 1 为 true 时执行的代码
        }
        else if (condition2)
        {
                当条件 2 为 true 时执行的代码
        }
        else
        {
            当条件 1 和 条件 2 都不为 true 时执行的代码
        }
    11.JavaScript switch 语句        
        switch(n)
        {
                case 1:
                        执行代码块 1
                        break;
                case 2:
                        执行代码块 2
                        break;
                default:
                        与 case 1 和 case 2 不同时执行的代码
        }
    12.JavaScript For 循环

        for 循环是您在希望创建循环时常会用到的工具。
        下面是 for 循环的语法:
        for (语句 1; 语句 2; 语句 3)
        {
                被执行的代码块
        }

        语句 1 (代码块)开始前执行
        语句 2 定义运行循环(代码块)的条件
        语句 3 在循环(代码块)已被执行之后执行
    13.JavaScript while 循环
        语法
        while (条件)
        {
                需要执行的代码
        }
        do/while 循环
        do/while 循环是 while 循环的变体。该循环会在检查条件
            是否为真之前执行一次代码块,然后如果条件为真的话,
            就会重复这个循环。
        语法
        do
        {
                需要执行的代码
        }
        while (条件);
    14.null 和 undefined 的值相等,但类型不等:
        typeof undefined             // undefined
        typeof null                  // object
        null === undefined           // false
        null == undefined            // true
        typeof null                   // 返回 object
    NaN 的数据类型是 number
    数组(Array)的数据类型是 object
    日期(Date)的数据类型为 object
    null 的数据类型是 object
    未定义变量的数据类型为 undefined
5.下表展示了使用不同的数值转换为数字(Number),
    字符串(String), 布尔值(Boolean):
        原始值         转换为数字     转换为字符串             转换为布尔值     
        false               0                 "false"                     false     
        true                     1                 "true"                         true     
        0                       0                 "0"                             false     
        1                         1                 "1"                             true     
        "0"                     0                 "0"                             true     
        "000"                    0                 "000"                         true     
        "1"                     1                 "1"                             true     
        NaN                     NaN             "NaN"                         false     
        Infinity         Infinity        "Infinity"                true     
        -Infinity        -Infinity     "-Infinity"             true     
        ""                         0                 ""                                false     
        "20"                     20                 "20"                            true     
        "Runoob"            NaN             "Runoob"                    true     
        [ ]                     0                 ""                                true     
        [20]                     20                 "20"                            true     
        [10,20]             NaN             "10,20"                        true     
        ["Runoob"]        NaN             "Runoob"                    true     
        function(){}     NaN             "function(){}"        true     
        { }                     NaN             "[object Object]" true     
        null                     0                 "null"                         false     
        undefined         NaN             "undefined"             false     
6.使用字符串方法
    1.在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
        search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
        replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
    2.search() 方法使用正则表达式
        使用正则表达式搜索 "Runoob" 字符串,且不区分大小写:
        var str = "Visit Runoob!";
        var n = str.search(/Runoob/i);
        输出结果为:
        6
    3.replace() 方法使用正则表达式
        实例
        使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :
        var str = document.getElementById("demo").innerHTML;
        var txt = str.replace(/microsoft/i,"Runoob");
        结果输出为:
        Visit Runoob!
    4.正则表达式修饰符
        修饰符 可以在全局搜索中不区分大小写:
        修饰符     描述
        i     执行对大小写不敏感的匹配。
        g     执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
        m     执行多行匹配。
    5.使用 RegExp 对象
        在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。
        使用 test()
        test() 方法是一个正则表达式方法。
        test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
        以下实例用于搜索字符串中的字符 "e":
        实例
        var patt = /e/;
        patt.test("The best things in life are free!");
        字符串中含有 "e",所以该实例输出为:
        true
        尝试一下 »
        你可以不用设置正则表达式的变量,以上两行代码可以合并为一行:
        /e/.test("The best things in life are free!")
    6.使用 exec()
        exec() 方法是一个正则表达式方法。
        exec() 方法用于检索字符串中的正则表达式的匹配。
        该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
        以下实例用于搜索字符串中的字母 "e":
        Example 1
        /e/.exec("The best things in life are free!");
        字符串中含有 "e",所以该实例输出为:
        e
7.JavaScript 错误 - throw、try 和 catch
    try 语句测试代码块的错误。
    catch 语句处理错误。
    throw 语句创建自定义错误。
    1.JavaScript try 和 catch
        try 语句允许我们定义在执行时进行错误测试的代码块。
        catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

        JavaScript 语句 try 和 catch 是成对出现的。
        语法
        try {
            //在这里运行代码
        } catch(err) {
            //在这里处理错误
        }
    2.Throw 语句
        throw 语句允许我们创建自定义错误。
        正确的技术术语是:创建或抛出异常(exception)。
        如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。
        语法
        throw exception
        异常可以是 JavaScript 字符串、数字、逻辑值或对象。
    **遇到 script 标签的话 js 就进行预解析,将变量 var 和 function 声明提升,
        但不会执行 function,然后就进入上下文执行,上下文执行还是执行预解析同样操作,
        直到没有 var 和function,就开始执行上下文。
8.JavaScript JSON
    JSON 是用于存储和传输数据的格式。
    JSON 通常用于服务端向网页传递数据 。
    什么是 JSON?
    JSON 英文全称 JavaScript Object Notation
    JSON 是一种轻量级的数据交换格式。
    JSON是独立的语言 *
    JSON 易于理解。
    相关函数
        函数                                                        描述
        JSON.parse()            用于将一个 JSON 字符串转换为 JavaScript 对象。
        JSON.stringify()    用于将 JavaScript 值转换为 JSON 字符串。
9.javascript:void(0) 含义
    href="#"与href="javascript:void(0)"的区别
    # 包含了一个位置信息,默认的锚是#top 也就是网页的上端。
    而javascript:void(0), 仅仅表示一个死链接。
    在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。
    如果你要定义一个死链接请使用 javascript:void(0) 。
10.JavaScript 闭包
    还记得函数自我调用吗?该函数会做什么?
    实例
        var add = (function () {
                var counter = 0;
                return function () {return counter += 1;}
        })();        
        add();
        add();
        add();
        // 计数器为 3

    实例解析
        1.变量 add 指定了函数自我调用的返回字值。
        2.自我调用函数只执行一次。设置计数器为 0。并返回函数表达式。
        3.add变量可以作为一个函数使用。非常棒的部分是它可以访问函数上一层作用域的计数器。
        4.这个叫作 JavaScript 闭包。它使得函数拥有私有变量变成可能。
        5.计数器受匿名函数的作用域保护,只能通过 add 方法修改。
    闭包是可访问上一层函数作用域里变量的函数,即便上一层函数已经关闭。

    计数器的另一种写法
     <button type="button" οnclick="myFunction()">计数!</button>
        <p id="demo">0</p>
        <script>
        var add = new Object();
        add.count = 0;
        add.plus = function()
        {
                this.count++;
        }
        function myFunction(){
                add.plus();
                document.getElementById("demo").innerHTML = add.count;
        }
        </script>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值