美文网首页
基础语法

基础语法

作者: 凌航 | 来源:发表于2019-07-19 13:39 被阅读0次

    数据类型

    • 数字
      包含整数浮点数
    • 字符串
      可用单引号双引号表示
    • 布尔型
      值为true或者false
    • 特殊类型
      null型:null
      nudefined型:undefined

    变量

    • 变量类型
      变量分为局部变量与全局变量,变量声明加了var是局部变量,不加是全局变量

    • 变量作用范围的界定
      js默认情况下是以函数为范围

    常量

    常量是一旦赋值就不能修改的量

    正则变量

    变量声明格式如下:
    var 变量名 = /正则表达式/
    如:
    var reg = /^1\d{10}$/

    函数

    用function进行声明
    格式如下:

        function funName(){
        
        }
    

    注意:js中,一切皆对象
    以上所有内容整合的例子如下:

    function test(){
        var foo = null;
        console.info(foo);
        foo1 = '张三';
        console.info(foo1);
        const PI = 3.1415926;
    }
    
    test();
    
    function sum(a,b){
        return a+b;
    }
    
    var a = sum(1,2);
    b = sum;
    document.write(b(1,2));
    
    var ss = function(a,b){
        return a + b;
    }
    
    document.write(ss(3,4))
    

    函数闭包

    同python,没什么可讲的
    例子如下:

    function outter(){
        var a = "outter";
        function inner(){
            var a = "inner";
            console.info(a);
        }
        console.info("------" + a)
        return inner;
    }
    
    console.info(outter()())
    

    条件语句

    同c++

    循环语句

    同c++且类似于python
    类似于python部分:

    var arr = [1,2,3,4,5,6,7]
    for(i in arr){
        console.info(arr[i])
    }
    

    break,continue

    作用同其他语言

    switch分支语句

    语法以及作用同c++

    面向对象

    对象的声明需要用到“{}”花括号表示,直接声明的实例对象需要用到var关键字,如果想声明一个原型链,则需要用到function关键字

    • 实例对象
      格式:
    var 对象名 = {
    变量名1:变量值1
    变量名2:变亮值2
    变量名3:function(){}
    }
    

    如果有函数作为变量,则注意变量名3的格式,实例如下:

    var student = {
        name:"张三",
        age:29,
        say:function(){
            // this.方法调用者
            console.info(this.name)
        }
    }
    student.say();
    console.info(student.age)
    console.info(student["age"])
    

    注意:函数不能直接充当变量,需要声明一个变量来

    • 原型链
      类似于类的定义,用到关键之function,this
      格式:
    function 原型名(参数1,参数2,...){
      this.变量1 = 参数1
      this.变量2 = 变量2
      this.变量3 = function(){}
    

    实例如下:

    function Student(name,age){
        this.name = name
        this.age = age
        this.sayHello = function(){
            console.info(this.name + "说:Hello!")
        }
    }
    Student.prototype.sayHello = function(){
        console.info(this.name + "说:Hello!")
    }
    var s1 = new Student("盖伦", 100)
    s1.sayHello();
    

    原型链用new新建一个实例对象

    继承以及prototype

    实例如下:

    function Person(name, age){
        this.name = name;
        this.age = age;
    }
    
    Person.prototype.shuo = function(){
        console.info("hello world")
    }
    function User(uname){
        this.uname= uname;
    }
    
    User.prototype = new Person("张生男", 20)
    
    var u = new User('admin')
    console.info(u['name'])
    u.shuo();
    

    相当于用User.prototype = new Person("张生男", 20)
    表示user继承自person

    ES6

    箭头函数

    箭头函数表达式的语法比函数表达式更简洁,并且没有自己的thisargumentssupernew.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。

    • 基础语法
      (参数1, 参数2, …, 参数N) => { 函数声明 }
      //相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }
      (参数1, 参数2, …, 参数N) => 表达式(单一)
      // 当只有一个参数时,圆括号是可选的:
      (单一参数) => {函数声明}
      单一参数 => {函数声明}
      // 没有参数的函数应该写成一对圆括号。
      () => {函数声明}

    • 简单实例

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

    类似于c++
    class Person(){
    constructor(name){
    this.name = name;
    }
    }

    继承

    用exrends关键字
    class User extends person(){

    }

    模板字符串

    var age = 20
    var introduce = 'myname is ${name},my age is ${age}'
    console.info(introduce)
    

    类似于python的导入导出库

    // lib/math.js
    export function sum(x,y){
        return x + y;
    }
    
    // app.js
    import {sum} from "lib/math.js"
    sum()
    

    相关文章

      网友评论

          本文标题:基础语法

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