JS_数据类型之null,undefined,date(),typeConvert..

今天学的东西主要还是数据类型方面--越学越感觉js这门语言,真的是amazing,very amazing的,总结下

1.先来比较下null与undefined:

null:js关键字,表示一个对象,但是为空。因为是对象,typeof(null)返回object,在primitive类型context下使用时:number-->0,string-->"null",bool-->false

undefined:不是js关键字,而是window对象的全局属性,(可以用window.undefined来访问该属性),typeof(undefined)返回undefined,当在js中使用未声明的变量,或声明变量但未给其赋值时,其值为undefined,  在primitive类型context下使用时 :number-->NaN,string-->"undefined",bool-->false

ps:null==undefined 返回true, 但null===undefined 返回false,因为typeof()不一样。

2.Date()

Date表示时间对象,获取对象的方式为:var t=new Date();

1 var d = new Date();
2 var d2 = new Date(2015, 11, 25);
3 alert(d.toLocaleString());//datetime 2015/12/27 下午12:41:11
4 alert(d2.toLocaleDateString());//date 2015/12/25 注意:month从0开始,所以11为12月

3.Error对象

js中预定义的Error对象:EvalError,TypeError,ReferenceError,RangeError,SyntaxError,URIError
  var e = new TypeError();  alert(typeof (e));//object

先了解下吧

4.Regular Expression

正则表达式对象,用于字符串匹配

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free")); //字符串中包含‘e‘,true

5.类型转换汇总

①这里学到一个感觉很强大的知识点,就是对于primitive类型,即number,string,boolean,js解释器会有一个封装的功能,将其封装成对象类型:Number,String,Boolean,这种封装在上下文中需要用到对象时会自动实现:如:

1 var s1 = "hello world";
2 var s2 = s1.substring(2, s1.length);//对象的方式调用了string的方法、属性
3 alert(s2);
//同如下对象的方式调用是等同的:
5 var s1 = new String("hello world");
6 var s2 = s1.substring(2, s1.length);
7 alert(s2);

这种封装是暂时的,也就是在用完这个对象的特性后,对象不存在了,只有string,当然,平常用的最多的还是string,尽管number,bool都有这种特性。

而且,这种转换是可逆的!wow,cool!不是吗?

1 var s1 = new String("hello world");
2 var s2 = s1 + ",wonderful!";//对象s1先转成primitive string value,然后字符拼接
3 alert(s2);//hello world,wonderful!

②number,string,bool 的primitive value都可以通过Object()转化成其object形式:

1 var s3 = "hello";
2 alert(typeof (s3));//string
3 s3 = Object(s3);
4 alert(typeof (s3));//object
5
6 var b1 = true;
7 alert(typeof (b1));//boolean
8 b1 = Object(b1);
9 alert(typeof (b1));//object

③在bool场景下用object时,只要object不是null的,其值都是true:

 1 //internal value is false,but object convert to true!
 2 var t1 = new Boolean(false);
 3 var t2 = new Number(0);
 4 var t3 = new String("");
 5 var t4 = new Array();
 6
 7 if (false || 0 || "") {
 8     alert("sorry,you can‘t see me..");
 9 }
10 if (t1 && t2 && t3 && t4) {
11     alert("yes ,object is true!");
12 }

先到这里,感觉,强!

时间: 2024-08-06 15:57:38

JS_数据类型之null,undefined,date(),typeConvert..的相关文章

js五种基本数据类型:string, number, boolean, null, undefined

/** * 五种基本数据类型:string, number, boolean, null, undefined */ // undefined // 声明变量foo,未声明变量bar var foo; console.log(`typeof foo: ${foo}`, `typeof bar: ${bar}`); // typeof foo: undefined typeof bar: undefined if (foo === undefined) { // foo全等于undefined c

null == undefined ?

最近在看<JavaScript高级程序设计>一书,书中讲到相等操作符(==)时说,要比较相等性之前,不能将 null 和 undefined 转换成其他任何值,但要记住 null == undefined 会返回 true .的确,在ECMAScipt规范中也是这样定义的,但我认为这样来理解这件事情,似乎有些浮于表面,网上也有很多关于这个问题的文章,下面我希望从一个全新的角度来分析 null 和 undefined ,从而理解两者为何会相等: 1.语义和场景不同 Undefined 和 Nul

2016.8.01 &quot;&quot; null undefined NaN 0 特殊比较是true还是false

在javascript的世界里,无论是函数,还是数组,还是对象,亦或是字符串,数字,布尔类型,在这些数据类型中,总有这么几个特立独行,然后造成一些可有可无的讨厌bug. 而这些讨厌bug出现的原因就是由于比较时产生的错误,而且最不易查出错误. 在这里我们整理了这几个特殊数据类型的比较.直接上代码. 上代码前,普及一个知识: ==内容比较,数据类型不比较. ===内容比较,数据类型也比较. 上代码: ==比较代码: // "" null undefined NaN 0 console.l

简述null undefined NaN的异同

1. 类型分析:JS中数据类型有:undefined,boolean,number,string,object,前四种值类型(基础数据类型),object是引用类型 var a1; //undefined var a2=10; //number var a3="hello"; //string var a4=true; //boolean var a5=new Object(); //0bject var a6=NaN; //number var a7=null; //object v

Is there a standard function to check for null, undefined, or blank variables in JavaScript?

You can just check if the variable has a truthy value or not. That means if( value ) { } will evaluate to true if value is not: null undefined NaN empty string ("") 0 false The above list represents all possible falsy values in ECMA-/Javascript.

JavaScript基础学习-- typeof,null,undefined

null 在 JavaScript 中 null 表示 "什么都没有". null是一个只有一个值的特殊类型.表示一个空对象引用. var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}; var person = null; document.getElementById("demo").innerHTML = ty

js null, undefined, NaN, ‘’, false, 0, ==, === 全验证

<html> <head> <meta charset="utf-8" /> </head> <body> <input type="text" id="input_test"/> <script> ? var test = function(a){ // NaN, undefined if(a != a){ alert('NaN / undefined'); }

Javascript 中的false,零值,null,undefined和空字符串对象

在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来看看他们的类型分别是什么: <script type="text/javascript"> alert(typeof(false) === 'boolean'); alert(typeof(0) === 'number'); alert(typeof("")

js判断 nan null undefined的方法

收集资料如下判断: 1.判断undefined: 复制代码代码如下: <span style="font-size: small;">var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }</span> 说明:typeof 返回的是字符串,有六种可能:"number"."string".&