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

javascript高级程序设计 重读系列的更多相关文章

  1. 读javascript高级程序设计00-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  2. 《JavaScript高级程序设计》读书笔记--前言

    起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...

  3. 1 《JavaScript高级程序设计》学习笔记(1)

    欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 首先,我将从<JavaScript高级程序设计>这本JavaScript学习者必看的经典教 ...

  4. 读javascript高级程序设计-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  5. 《Javascript高级程序设计》阅读记录(七):第七章

    <Javascript高级程序设计>中,2-7章中已经涵盖了大部分精华内容,所以摘录到博客中,方便随时回忆.本系列基本完成,之后的章节,可能看情况进行摘录. 这个系列以往文字地址: < ...

  6. 《Javascript高级程序设计》阅读记录(六):第六章 下

    这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 <Javascript ...

  7. 《Javascript高级程序设计》阅读记录(五):第六章 上

    这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 <Javascript ...

  8. 《Javascript高级程序设计》阅读记录(四):第五章 下

    这个系列,我会把阅读<Javascript高级程序设计>之后,感觉讲的比较深入,而且实际使用价值较大的内容记录下来,并且注释上我的一些想法.做这个一方面是提升了我的阅读效果以及方便我以后阅 ...

  9. 《Javascript高级程序设计》阅读记录(三):第五章 上

    这个系列以往文字地址: <Javascript高级程序设计>阅读记录(一):第二.三章 <Javascript高级程序设计>阅读记录(二):第四章 这个系列,我会把阅读< ...

随机推荐

  1. think in uml 2.1

    业务建模

  2. hh monitor

    http://theholyjava.wordpress.com/2012/09/21/enabling-jmx-monitoring-for-hadoop-and-hive/ http://blog ...

  3. SQL Server 2008删除或压缩数据库日志的方法

    SQL Server 2008删除或压缩数据库日志的方法 2010-09-20 20:15 由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的 ...

  4. wpf无法加载程序集的元数据 可能已从web下载

    wpf无法加载程序集的元数据 可能已从web下载     别人写的wpf程序,源代码放到自己电脑上,设计器加载出现问题:无法加载程序集“XXX”的元数据. 解除锁定步骤:找到你的dll->右键属 ...

  5. 转 : net use的使用

    老是忘了 net use 怎么样,今天在网上找一篇,贴在这,感谢原作者分享.     1 查看远程主机的共享资源(但看不到默认共享) net view \\IP 2向远程主机复制文件 copy \路径 ...

  6. Java中的一些术语的解释

    一  API(Application Programming Interface,应用程序编程接口) 简单来说,就是其他人开发出来一块程序,你想用,他会告诉你调用哪个函数,给这个函数传什么参数,然后又 ...

  7. phpmyadmin导出数据中文乱码问题

    phpMyAdmin版本是2.9.1.1 用phpMyAdmin备份数据库,导出来后,在本地用sqlyog还原的时候,出现如下错误:Error occured at:2009-03-03 10:09: ...

  8. PAT (Advanced Level) 1094. The Largest Generation (25)

    简单DFS. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  9. 极光推送,极光IM使用指南(AndroidStudio)

    到官网创建一个应用,然后下载上面的例子程序,对照集成文档,把libs里的jar和so文件放入到本项目的libs下面,记得把jar要as a library,然后配置清单文件,对照着Demo来,配置好之 ...

  10. wince天气代码

    #ifndef COMMON_H #define COMMON_H #include <Windows.h> typedef struct _operateInfo { HANDLE hS ...