zoukankan      html  css  js  c++  java
  • javascript高级程序设计 重读系列

    1.基本概念、数据类型、函数

    1.1 数据类型

    ECMAScript中有5种简单数据类型:Undefind,Null,Boolean,Number,String

    问题:判断变量是否是空值的代码

    解析: 由于ECMAScript的变量是松散类型的,所谓松散类型就是可以保存任何类型的数据,但是用什么手段来检测变量的数据类型呢?别着急,typeof就是负责这方面信息的操作:

    答案:

    String.prototype.trim = function() { 
    // 用正则表达式将前后空格 
    //用空字符串替代。 
         return this.replace(/(^s*)|(s*$)/g, ""); 
    };
    
    
    var petter = {};
    petter.empty = function(v) {
        switch(typeof v) {
            case 'undefind': 
                return true;
                break;
            case 'string':
                if(v.trim().length == 0) {
                    return true;
                    break;
                }
            case 'boolean': 
                if(!v) {
                    return true;
                }
            case 'number': 
                if(0 === v) {
                    return true;
                    break;
                }
            case 'object': 
                if(null === v) {
                    return true;
                }
                if(undefind !== v.length && v.length == 0) {
                    return true;
                }
                for(var k in v) {
                    return false;
                }
                return false;
                break;
        }
        return false;
    };

    判断一个变量的类型用typeof是可以的,但是在使用typeof运算符采用引用类型存储值会出现问题,无论你引用的是什么类型的对象,他都会返回“object”。ECMAScipt引入另一个运算符instanceof来解决这个问题。

    问题: 判断一个变量时数组Array的方法

    答案:

    var arr = [1,2,3,1]; 
    alert(arr instanceof Array); // true 
    
    var arr = [1,2,3,1,5]; 
    alert(arr.constructor === Array); // true
  • 相关阅读:
    二,数据类型与流程控制语句
    一,cmd指令集与变量
    web第九天,浮动与定位
    web第八天,PS切图与float浮动
    web第七天,标签分类
    web第六天,CSS优先级与盒子模型
    web第五天复合样式与选择器
    web第四天,CSS基础
    web第三天 表单与css基础
    装饰器
  • 原文地址:https://www.cnblogs.com/peterli2013/p/4259976.html
Copyright © 2011-2022 走看看