js函數

js函數

es5中只要function
es6中新增了 箭頭函數 與 對象方法javascript

  1. 箭頭函數是面向過程的函數
  2. function是面向過程和麪向對象的函數能夠相互切換
  3. function Fn() {}這種是面向對象的函數

函數1

<script>
    function f1() {
        console.log('f1 run')
    }
    //調用函數f1
    f1();
</script>

函數2

<script>
    function f2() {
        return '222'
    }
    //調用函數f2,因爲函數沒有打印值,只有返回值因此不會打印
    f2();
    //打印函數的返回值
    console.log(f2());
    //將函數的返回值進行賦值,在進行打印
    let r2 = f2();
    console.log(r2)
</script>

函數3

<script>
    // es6中新增了 箭頭函數 與 對象方法
    //這種是不直接傳參的
    let f3=()=>{
        console.log('f3 run')
    };
    f3()
</script>

函數4

<script>
    // 箭頭函數函數體只有返回值,沒有多餘代碼,還能夠簡寫
    let f4 = () => 12345;
    let r4 = f4();
    console.log(r4)
</script>
//當函數沒有參數的時候能夠這樣寫,用下劃線進行代替,並不使用
<script>
    let f4 = _ => 12345;
    let r4 = f4();
    console.log(r4)
</script>

函數5

<script>
    
    // 箭頭函數若是有參數,() 也能夠省略
    a = 10;
    let f5 = n => n*10;
    let r5 = f5(a);
    console.log(r5);
</script>

js函數原型

  1. 給函數設置原型 Fn.prototype.變量 = 值,那麼Fn new出來的對象均可以共用 原型變量
  2. 類有原型
  3. 函數沒有原型
  4. prototype原生的
  5. 函數原型:給函數設置原型 Fn.prototype.變量 = 值,那麼Fn new出來的對象均可以共用 原型變量
<script>
    function Fn() {}
    let f1=new Fn();
    let f2=new Fn();
    Fn.prototype.num=888;
    console.log(f1.num);
    console.log(f2.num);
    let f3=Fn();
    f3.num=666;
    console.log(f3.num);
</script>

類比python

class People:
     pass

p1 = People()
p2 = People()

People.arg = 100  // 給類添加屬性,全部對象公用
p1.arg
p2.arg
相關文章
相關標籤/搜索