美文网首页
JavaScript语法

JavaScript语法

作者: Recalcitrant | 来源:发表于2019-08-01 16:22 被阅读0次

    JavaScript语法

    一、JS变量

    1.变量

    var varName = 值;
    varName = 值;
    

    以var声明变量为局部变量,不以var声明的变量为全局变量。

    2.常量(静态变量)

    一旦赋值就不可被修改。

    const varName = 常量值;
    

    3.数据类型

    • 1.数字:整型、浮点型
    var length = 7; 
    const PI = 3.1415926535898;
    
    • 2.字符串:单引号、双引号
    var lastName = "Gates";
    var lastName = 'Gates';
    
    • 3.布尔型:true、false
    • 4.空类型:null
    • 5.未定义类型:undefined
    • 6.数组
    var cars = ["Porsche", "Volvo", "BMW"];   
    
    • 7.对象
    var x = {firstName:"Bill", lastName:"Gates"};
    

    二、JS函数

    function 函数名(参数列表)
    {
        函数体
    }
    

    三、JS对象

    var 对象名 = {名称1:值1, 名称2:值2, 名称3:值3, ......}
    

    1.对象属性

    JavaScript 对象中的名称:值对被称为属性。

    示例:

    var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
    

    2.对象方法

    对象也可以有方法,方法是在对象上执行的动作。方法以函数定义被存储在属性中。

    示例:

    var person = {
      firstName: "Bill",
      lastName : "Gates",
      id       : 678,
      fullName : function() {
        return this.firstName + " " + this.lastName;
      }
    };
    

    3.对象访问器

    访问器的作用

    • 1.提供了更简洁的语法
    • 2.允许属性和方法的语法相同
    • 3.可以确保更好的数据质量
    • 4.有利于后台工作

    (1)JavaScript Getter(get 关键词)

    var person = {
      firstName: "Bill",
      lastName : "Gates",
      language : "en",
      get lang() {
        return this.language;
      }
    };
    console.info(person.lang)
    

    (2)JavaScript Setter(set 关键词)

    var person = {
      firstName: "Bill",
      lastName : "Gates",
      language : "",
      set lang(lang) {
        this.language = lang;
      }
    };
    console.info(person.language)
    person.lang = "en";
    console.info(person.language)
    

    4.对象构造器

    function Student(name, age)
    {
        this.name = name;
        this.age = age;
        this.sayHello = function()
        {
            console.info(this.name + "说:Hello!");
        }
    }
    var s1 = new Student("lisi", 100);
    var s2 = new Student("zhangsan", 200)
    s1.sayHello();
    s2.sayHello();
    console.info(s1);
    console.info(s2);
    
    运行结果

    5.对象原型

    (1)原型继承

    由于无法为已有的对象构造器添加新属性,除非直接修改该构造器函数。对此可以采用原型继承。

    JavaScript prototype 属性允许为对象构造器添加新属性或新方法:

    • 直接向原构造器的__proto__ 属性(object对象)添加属性和方法:
    function Person(name, age)
    {
        this.name = name;
        this.age = age;
    }
    
    Person.prototype.username = "admin"
    Person.prototype.shuo = function()
    {
        console.info("Hello World!");
    }
    
    var u = new Person("张三", 20)
    
    console.info(u['name']);
    console.info(u['age']);
    console.info(u['username']);
    u.shuo();
    
    console.info(u);
    
    运行结果
    • 新建一个构造器,并将用原构造器生成的对象赋给新建构造器的__proto__ 属性
    function Person(name, age)
    {
        this.name = name;
        this.age = age;
    }
    
    function User(username)
    {
        this.username = username;
        this.shuo = function()
        {
            console.info("Hello World!");
        }
    }
    
    User.prototype = new Person("张三", 20)
    var u = new User('admin');
    
    console.info(u['name']);
    console.info(u['age']);
    console.info(u['username']);
    u.shuo();
    
    console.info(u);
    
    运行结果

    四、ES6新特性

    1.箭头函数

    var a = (v, h) => v + h;
    console.info(a(5, 6));
    

    2.类(语法糖)

    3.继承(语法糖)

    相关文章

      网友评论

          本文标题:JavaScript语法

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