js学习笔记

作者: DerrickWang | 来源:发表于2018-06-07 16:14 被阅读0次
    基础
    • 语法
      如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>我的第一个 Web 页面</h1>
    
    <p>我的第一个段落。</p>
    
    <script>
    document.write(Date());
    </script>
    
    </body>
    </html>
    
    <!DOCTYPE html>
    <html>
    <body>
    
    <h1>我的第一个 Web 页面</h1>
    
    <p>我的第一个段落。</p>
    
    <button onclick="myFunction()">点我</button>
    
    <script>
    function myFunction() {
        document.write(Date());
    }
    </script>
    
    </body>
    </html>
    

    第二个会覆盖整个页面

    • 字面量
      固定值被称为字面量
      字符串字面量可以单引号可以双引号
      表达式字面量用于计算 如 5 + 6
      数组字面量 [1,3,5,1]
      对象字面量{firstName:"Derrick", lastName:"Wang", age:21, beloved:"Autumn"}
      函数字面量 function myFunction(a,b){return a * b}
    • 变量
      用var声明 用等号赋值
    var x, length
    x = 5
    length = 6
    
    • 折行
    document.write("你
    \derrick!");
    
    • 脚本语言的执行
      浏览器在读取代码是,逐行地执行脚本,不像java要先编译全部的

    • let变量

    function varTest() {
        var x = 1;
        if (true) {
            var x = 2;       // 同样的变量!
            console.log(x);  // 2
        }
        console.log(x);  // 2
    }
    
    function letTest() {
        let x = 1;
        if (true) {
            let x = 2;       // 不同的变量    
            console.log(x);  // 2  
        }
        console.log(x);  // 1
    }
    

    一开始觉得var可以重复声明很辣鸡,现在想想编译器不对这些东西负责或许是对程序员的信任 权限越大也就越有操作的空间 如果我们按照一定的开发规范 那么这也不是什么问题

    • 数据类型
      注意Null和Undefined 不像java默认为null
      动态类型(后续看一下这种设计是为了什么)
    //声明数组的三种方法
    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";
    //condensed array
    var cars=new Array("Saab","Volvo","BMW");
    //literal array
    var cars=["Saab","Volvo","BMW"];
    

    由于字符串可以使用两种引号,所以另外一种引号可以方便地在字符串中使用

    undefined和null
    菜鸟教程中有一句可以通过将变量的值设置为null来清空变量 那么可以通过重新声明让变量变成undefined吗(后续看看具体怎么操作内存)

    js变量都是对象

    • 对象
      js的对象是变量的容器(谁不是呢) 或者说是键值对的容器
    var person={
    firstname : "John",
    lastname  : "Doe",
    id        :  5566
    fullName : function()
    {
      return this.firstName + " " + this.lastName;
    }
    };
    //对象属性的两种寻址方式
    name=person.lastname;
    name=person["lastname"];
    //后续看下这两种是否涉及底层的去呗
    

    对象的方法作为对象的属性来存储

    函数
    DOM

    相关文章

      网友评论

        本文标题:js学习笔记

        本文链接:https://www.haomeiwen.com/subject/xrvgsftx.html