zoukankan      html  css  js  c++  java
  • JavaScript 学习笔记

    JavaScript 是 Web 的编程语言。

    JavaScript web 开发人员必须学习的 3 门语言中的一门:

    • HTML 定义了网页的内容
    • CSS 描述了网页的布局
    • JavaScript 网页的行为

    基本用法

    如需在 HTML 页面中插入 JavaScript,请使用 <script> 标签。

    <script> 标签可以放在 <body><head>标签中,也可以外部引用:

    //head标签引用
    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function myFunction()
    {
        document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
    }
    </script>
    </head>
    <body>
    <h1>我的 Web 页面</h1>
    <p id="demo">一个段落</p>
    <button type="button" onclick="myFunction()">尝试一下</button>
    </body>
    </html>
    
    //body标签引用
    <!DOCTYPE html>
    <html>
    <body>
    <h1>我的 Web 页面</h1>
    <p id="demo">一个段落</p>
    <button type="button" onclick="myFunction()">尝试一下</button>
    <script>
    function myFunction()
    {
        document.getElementById("demo").innerHTML="我的第一个 JavaScript 函数";
    }
    </script>
    </body>
    </html>
    
    //外部标签引用
    <!DOCTYPE html>
    <html>
    <body>
    <script src="myScript.js"></script>
    </body>
    </html>
    

    输出

    JavaScript 可以通过不同的方式来输出数据:

    • 使用 window.alert() 弹出警告框。
    • 使用 document.write() 方法将内容写到 HTML 文档中。
    • 使用 innerHTML 写入到 HTML 元素。
    • 使用 console.log() 写入到浏览器的控制台。

    alert

    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>我的第一个页面</h1>
    <p>我的第一个段落。</p>
    
    <script>
    window.alert(5 + 6);
    </script>
    
    </body>
    </html> 
    

    write

    出于测试目的,您可以将JavaScript直接写在HTML 文档中:

    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>我的第一个 Web 页面</h1>
    
    <p>我的第一个段落。</p>
    
    <script>
    document.write(Date());
    </script>
    
    </body>
    </html> 
    

    innerHTML

    使用 document.getElementById(id) 方法访问某个 HTML 元素。

    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>我的第一个 Web 页面</h1>
    
    <p id="demo">我的第一个段落</p>
    
    <script>
    document.getElementById("demo").innerHTML = "段落已修改。";
    </script>
    
    </body>
    </html> 
    

    批注,该方法会直接替换原内容。

    log

    浏览器中使用 F12 来启用调试模式, 在调试窗口中点击 "Console" 菜单,信息会显示在控制台中。

    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>我的第一个 Web 页面</h1>
    
    <script>
    a = 5;
    b = 6;
    c = a + b;
    console.log(c);
    </script>
    
    </body>
    </html> 
    

    语法

    数据类型

    值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

    引用数据类型:对象(Object)、数组(Array)、函数(Function)。

    容器。

    动态类型

    JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:

    var x;               // x 为 undefined
    var x = 5;           // 现在 x 为数字
    var x = "John";      // 现在 x 为字符串
    

    数组

    var cars=new Array();
    cars[0]="Saab";
    cars[1]="Volvo";
    cars[2]="BMW";
    
    var cars=new Array("Saab","Volvo","BMW");
    
    var cars=["Saab","Volvo","BMW"]; 
    

    赋值

    JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值:

    var x, length //此时是未定义值 undefined
    x = 5;
    length = 6;
    
    var lastname="Doe", age=30, job="carpenter"; 
    

    注释

    // 单行注释
    
    /*
    多行注释
    多行注释
    */
    

    函数

    function myFunction(a, b) {
        return a * b;                                // 返回 a 乘以 b 的结果
    } 
    

    实例:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>测试实例</title>
    <script>
    function myFunction()
    {
        alert("Hello World!");
    }
    </script>
    </head>
     
    <body>
    <button onclick="myFunction()">点我</button>
    </body>
    </html>
    

    对象

    对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。

    //定义对象
    var person = {
        //创建属性
        firstName: "John",
        lastName : "Doe",
        id : 5566,
    
        //创建方法
        fullName : function() 
        {
           return this.firstName + " " + this.lastName;
        }
    };
    
    //访问属性及方法
    person.lastName;
    name = person.fullName();
    

    事件

    常见的HTML事件

    • onchange HTML 元素改变
    • onclick 用户点击 HTML 元素
    • onmouseover 用户在一个HTML元素上移动鼠标
    • onmouseout 用户从一个HTML元素上移开鼠标
    • onkeydown 用户按下键盘按键
    • onload 浏览器已完成页面的加载

    字符串

    var carname = "Volvo XC60";
    
    var sln = txt.length;
    

    其他参考:https://www.runoob.com/js/js-strings.html

    遍历

    for (var i=0;i<cars.length;i++)
    { 
        document.write(cars[i] + "<br>");
    }
    
    
    var person={fname:"John",lname:"Doe",age:25}; 
    for (x in person)  // x 为属性名
    {
        txt=txt + person[x];
    }
    

    变量提升

    js允许先赋值后定义。。

    x = 5; // 变量 x 设置为 5
    
    elem = document.getElementById("demo"); // 查找元素
    elem.innerHTML = x;                     // 在元素中显示 x
    
    var x; // 声明 x 
    

    严格模式

    JavaScript 严格模式(strict mode)即在严格的条件下运行。
    严格模式下不允许使用未声明的变量。

    "use strict";
    x = 3.14;                // 报错 (x 未定义) 
    

    表单

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <script>
    function validateForm() {
        var x = document.forms["myForm"]["fname"].value;
        if (x == null || x == "") {
            alert("需要输入名字。");
            return false;
        }
    }
    </script>
    </head>
    <body>
    
    <form name="myForm" action="demo_form.php"
    onsubmit="return validateForm()" method="post">
    名字: <input type="text" name="fname">
    <input type="submit" value="提交">
    </form>
    
    </body>
    </html>
    
  • 相关阅读:
    (并查集)小希的迷宫 --HDU -- 1272
    (并查集)Connections in Galaxy War -- zoj --3261 还没写
    (并查集)A Bug's Life -- POJ -- 2492
    LINQ 图解 LINQ学习第三篇 [转]
    C# 4.0 新特性-dynamic 【转】
    C#编程规范
    C#中关于DateTime的最大值和最小值
    .NET,你忘记了么?(八)—— 从dynamic到特性误用 [转]
    C#中dynamic的正确用法【转】
    ASP.NET MVC 中将FormCollection与实体间转换方法【转】
  • 原文地址:https://www.cnblogs.com/chendeqiang/p/13184883.html
Copyright © 2011-2022 走看看