1.基本概念、数据类型、函数html
1.1 数据类型正则表达式
ECMAScript中有5种简单数据类型:Undefind,Null,Boolean,Number,String数组
问题:判断变量是不是空值的代码函数
解析: 因为ECMAScript的变量是松散类型的,所谓松散类型就是能够保存任何类型的数据,可是用什么手段来检测变量的数据类型呢?别着急,typeof就是负责这方面信息的操做:this
答案:spa
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来解决这个问题。prototype
问题: 判断一个变量时数组Array的方法code
答案:htm
var arr = [1,2,3,1]; alert(arr instanceof Array); // true var arr = [1,2,3,1,5]; alert(arr.constructor === Array); // true