• JavaScript初探之二_函数特性


    (承接JavaScript初探之一_HelloWorld)

    一、 null与undefined

    在demo1.js中添加如下代码

    function varInit() {
        var x;
        if (x == null) {
            alert("null");
        }
        if (typeof (x) == undefined) {
            alert("undefined");
        }
        if (!x) {  //推荐此法
            alert('不X');
        }
    }
    varInit();


    将会弹出什么,首先弹出"null",然后弹出"不X"。声明一个变量,未给它赋值,则它此时的状态就是nul。


    二、 函数总是有返回值

    在demo1.js中添加如下代码

    function add(i1, i2) {
        if (i1 > i2) {
            return i1 + i2;
        }
    }
    alert(add(5, 6));  //没有返回值则返回undefined
    alert(add(6, 5));


    假如这段代码在Java或者C#中,是无法通过编译的,它娘的到底要不要返回啊。

    JavaScript说,有返回就返回呗,无返回就返回undefined,总之老子要返回。


    三、 匿名函数

    //匿名函数的使用
    var f1 = function (i1, i2) {
        return i1 - i2;
    };
    alert(f1(10,5));


    有些函数是用过就甩的,就像白富美对女屌丝一样。因为白富美根本连你叫什么都不知道,只知道你是个屌丝(fucntion)。

    白富美说,你替我去买套套,一个大的(i1),一个小的(i2),我来计算一下,大的比小的大多少。

    屌丝于是就去买了,白富美拿过套套,

    var f1 = function (i1, i2) {
        return i1 - i2;
    };

    开始计算一下,哪个比较适合高富帅

    alert(f1(10,5));

    四、 所谓的类仍旧是函数

    /*
     JavaScript中没有类的语法,使用函数闭包(closure)模拟出来的
     JavaScript中的String、Date等“类”都被叫做“对象”
    */
    function Person(name, age) {
        this.name = name;
        this.age = age;
        this.sayHello = function () {
            alert("姓名为" + this.name + ",年龄为" + this.age);
        };
    }
    var p1 = new Person("yeahwell", "20");
    alert(p1);   //没有new Person()时p1为undefind,new了之后p1为object Object
    p1.sayHello();
    
    p1.sex = "男";   //动态添加属性
    alert(p1.sex);
    
    


    假如改成这样

    var p1 = Person("yeahwell", "20");
    相当于把Person()函数的返回值赋值给p1,此时p1就是undefined啦。



    作者:沙漏哟
    出处:计算机的未来在于连接
    本文版权归作者和博客园共有,欢迎转载,请留下原文链接
    微信随缘扩列,聊创业聊产品,偶尔搞搞技术
  • 相关阅读:
    List集合
    ArrayList_toArray
    Collection集合基础知识
    Array类的使用
    16.10
    16.9
    16.8
    16.7
    16.6
    16.5
  • 原文地址:https://www.cnblogs.com/yeahwell/p/5226076.html
Copyright © 2020-2023  润新知