1.类型分析:

javascript 有三种基本数据类型(字符串string、数值number、布尔boolean ),两种引用数据类型(对象Object、数组Array)和两种特殊数据类型(Null 、Undefined )。

var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;

alert(typeof a);   //显示"undefined"
alert(typeof a1); //显示"undefined"
alert(typeof a2); //显示"boolean"
alert(typeof a3); //显示"number"
alert(typeof a4); //显示"string"
alert(typeof a5); //显示"object"
alert(typeof a6); //显示"object"
alert(typeof a7); //显示"number"
alert(typeof a8); //显示"undefined"

当定义了一个变量未初始化的时候,默认值为:undefined,而不是数字0或字符串""。

如果直接用alert()方法显示一个未定义的变量 ,例如:alert(abc),这时js就会报错:"abc"未定义,为防止这种错误,我们可以预先这样判断一下

if(typeof(abc)!="undefined")

{

alert(abc)

}

时间: 2024-10-20 18:02:14

1.类型分析:的相关文章

c语言中的 int (*p)[5] 类型分析

#include<stdio.h> int main() { int i; int  b[5]={1,3,5,7,9}; int  (*a)[5] = &b; int  *m = a;        //a范围内的空间按照 int大小来取值 for(i = 0;i<5;i++) { printf("%d\n",m[i]); } return 0; } 输出结果为 1 2 3 4 5 其中  int  (*a)[5]  表示在栈中产生一个大小为   5个int的

ElasticSearch 线程池类型分析之SizeBlockingQueue

ElasticSearch 线程池类型分析之SizeBlockingQueue 尽管前面写好几篇ES线程池分析的文章(见文末参考链接),但都不太满意.但从ES的线程池中了解到了不少JAVA线程池的使用技巧,于是忍不住再写一篇(ES6.3.2版本的源码).文中给出的每个代码片断,都标明了这些代码是来自哪个类的哪个方法. ElasticSearch里面一共有四种类型的线程池,源码:ThreadPool.ThreadPoolType DIRECT("direct"), FIXED("

设备与主机的攻击日志类型分析总结

随着网络技术的普及,网络攻击行为出现得越来越频繁.另外,由于网络应用的多样性和复杂性,使得各种网络病毒泛滥,更加剧了网络被攻击的危险. 目前,Internet上常见的网络安全威胁分为以下三类: 1.扫描窥探攻击 扫描窥探攻击利用ping扫描(包括ICMP和TCP)标识网络上存在的活动主机,从而可以准确地定位潜在目标的位置:利用TCP和UDP端口扫描检测出目标操作系统和启用的服务类型.攻击者通过扫描窥探就能大致了解目标系统提供的服务种类和潜在的安全漏洞,为进一步侵入目标系统做好准备. 2.IP报文

HQL查询——查询返回对象类型分析

关于HQL查询,我们可以结合hibernate的API文档,重点围绕org.hibernate.Query接口,分析其方法,此接口的实例对象是通过通过session.对象的creatQuery(String hql)方法得到的.我这里要分析HQL的select子句,当然要想深入HQL查询,我们就必须了解hibernate缓存的知识. 一.选择--Select子句查询返回对象的讨论 为什么只说Select子句,因为我们使用的hibernate框架是基于java语言环境下进行开发的,也就是说hibe

java 枚举类型分析

最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, BLUE_BAGE; } 编译不过. 我将赋值语句修改了以后,如下所示: public enum ColorSelect { RED_BAGE , GREEN_BAGE, BLUE_BAGE; } 编译通过.说明C++那样的赋值方法不适用java.所以,我需要弄清楚的是: 1. 在java平台上,如

C++ 文件类型分析

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度.资源辅助文件. .BMP:位图资源文件. .BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位.用于浏览项目信息的,如果用source   brower的话就必须有这个文件.可以在project   options里去掉Generate   Browse   Info   File,这样可以

android运营商和网络类型分析

一些需求需要获取运营商和网络类型,下面对运营商和网络类型做分析. 先抛出一些废话的定义: GSM:全球移动通讯系统Global System of Mobile communication就是众所周知的GSM,是当前应用最为广泛的移动电话标准. CDMA:码分多址(CDMA)是在数字技术的分支--扩频通信技术上发展起来的一种崭新而成熟的无线通信技术. 可见,这两者是技术标准,和网络类型及制式无关. 进入正题. 1.获取话机类型 这个可以通过方法TelephonyManager#getPhoneT

C# 中的 String类型分析

equals方法和==的区别 首先大家知道,String既可以作为一个对象类来使用,又可以作为一个基本类型来使用.这里指的作为一个基本类型来使用只是指使用方法上的,比如String s = "Hello",它的使用方法如同基本类型int一样,比如int i = 1;,而作为一个对象来使用,则是指通过new关键字来创建一个新对象,比如String s = new String("Hello").但是它的内部动作其实还是创建了一个对象,这点稍后会说到. 其次,对Stri

C#中类型分析中的常见问题 Type - 转

http://www.cnblogs.com/yuanyuan/archive/2012/08/16/2642281.html 写代码的时候经常需要分析已有类型的信息例如:分析现有类型自动生成类, 或者为现有的类自动增加一些功能总结了一点点经验以ClassA  a; 为例1. 通过typeof(ClassA) 或者 a.GetType() 获取类型信息, 推荐使用typef() 可以避免空引用,而且有的时候不需要构造一个ClassA的实例, typeof(ClassA)的性能一点都不差,不要把它

GlusterFs卷类型分析及创建、使用(结合kubernetes集群分析)

引言 本文通过对卷类型的分析对比,来帮助读者选取生产环境最符合服务的挂载存储,命令可结合<glusterfs详解及kubernetes 搭建heketi-glusterfs>进行实验,下面进入正题 几种卷类型 基础卷:布式卷(distribute).条带卷(stripe).复制卷(replica).纠错卷(Dispersed ) 复合卷:分布式条带卷(distribute stripe).分布式复制卷(distribute replica).条带复制卷(stripe replica).分布式条