zoukankan      html  css  js  c++  java
  • 一些函数返回值

    <!DOCTYPE html>
    <html>

    <head>
    <meta charset="UTF-8">
    <title></title>
    </head>

    <body>
    <script type="text/javascript">
    //构造函数的返回值
    // function foo1() {

    // return true;
    // }
    // console.log(new foo1());
    // function foo2() {

    // return [1, 2, 4];
    // }
    // console.log(new foo2());


    // var length=10;
    // function fn() {
    // console.log(this.length);
    // }
    // function test() {
    // arguments[0]();
    // }
    // test(fn, 1, 3)


    function Foo() {
    污染全局变量,注意执行顺序会覆盖
    getName = function() {
    console.log(1);
    }

    return this;
    }
    Foo.getName = function() {
    console.log(2);
    }
    Foo.prototype.getName = function() {
    console.log(3);
    }
    var getName = function() {
    console.log(4);
    }
    function getName() {
    console.log(5);
    }
    直接执行函数名对象属性;
    Foo.getName(); //2


    直接执行该匿名函数(变量会声明提升);
    getName(); //4


    函数返回结果this,函数执行时内部匿名函数(变量引用外部声明)执行完污染了全局,替换了原来的值
    Foo().getName(); //1


    污染后的值;
    getName(); //1


    函数名对象属性实例化
    new Foo.getName(); //2


    构造函数本身实例化里的prototype属性
    new Foo().getName(); //3


    构造函数本身实例化里的prototype属性实例化
    new new Foo().getName(); //3


    // //在非严格模式下,函数的arguments和当前函数定义的形参存在映射关系,一个变另外一个也变;
    // function fn1(a) {
    // arguments[0] = 100;
    // console.log(a); //
    // }
    // fn1(1);
    // //在严格模式下,函数的arguments和当前函数定义的形参是没有映射关系,并且禁止使用arguments.callee和arguments.callee.caller
    // function fn2(a) {
    // 'use strict'
    // arguments[0] = 100;
    // console.log(a); //
    // }
    // fn2(1);
    </script>
    </body>

    </html>

  • 相关阅读:
    秘密挤奶机(最大流,二分)
    伊基的故事 I
    多源汇最大流(最大流)
    无向树是二分图
    上下界可行流
    圆桌问题(最大流,二分图,网络流24题)
    双栈排序
    观光奶牛
    拜访奶牛
    愤怒的牛&数列分段II
  • 原文地址:https://www.cnblogs.com/xin1021/p/9216288.html
Copyright © 2011-2022 走看看