JavaScript基础3 数据类型

js的7种类型


One—数字类型(number):

var a = 10;
alert( 10 );→弹出10;
alert( typeof( a ));→弹出number

typeof查询类型 用法typeof( xxx ) 或 typeof xxx

Number类型转换

Number()内建函数
空字符串 ===》0
null ===> 0
true/false ===> 1/0
undefined ===> NaN
[] ==> 0
{} ==> NaN

原理:对象会调用toString()方法再来通过Number()来对照上面转的值

console.log( Number( [] ) )  ===> 0
 转换原理:
先调用[]里的.toString()方法      再调用Number()内建函数
[].toString() ===》      ''  (空字符 )===》 0

console.log( Number( [ 55554 ] ) )  ===> 55554 
[ 55554 ] ===>   '55554' ===>  55554 

console.log( Number( [ 1 , 2 ] ) )  ===> NaN
[ 1 , 2 ] ===> ' 1,2'(字符串(1,2)) ===》 NaN

console.log( Number( {}) )  ===> NaN
{} ====>  [object Object] ===> NaN
现实过程
{}.toString()函数 ===》  [object Object] ===> NaN
如果我们对里面的对象函数重新定义
var a = {
            toString : function (){
                return 123;
            }
        };
        console.log( a.toString() );
        alert( Number( a ) );

console.log( Number( a ) )  ===> 123

Two—字符串类型(string):

var a = '10';
alert ( a ); → 弹出10
alert ( typeof a ); →弹出string

1、typeof可以得到数据类型
2、 + 对两者的作用
var a = 10;
alert ( a+1 );→弹出11 → 10+1=11;
var a = '10';
alert( a+1 );→弹出 101 →‘10’+1=101;
注意:如果其中有一个是字符串类型则 + 号是起到拼接作用,拼完还是字符串类型;
案例:
  x=10;
  alert( x+2+'x'+1 ) → 弹出12x1
  ‘x’跟上面的var没有任何关系已经被转化成字符串类型,就是单单字母x
注意:如果没有var定义x
直接alert( x+2+'x'+1 ) ;→报错 x没有被定义


Three—布尔类型:boolean →只有2个值 false true;

一般做判断用 例:alert( 12==13 ); 弹出false;

Four—对象类型object

var x = new Object(); 创建一个新的对象 注意 O 要大写;
var x = {}; 空对象; 与上面一样 是上面的简写

alert( x );
1.png

[object Object]
  第一个 object 指类型(我是object类型)
  第二个 objec 指构造函数

var x = document;
document也是对象,js系统内置对象
alert ( x )


2.png

[object HTMLDocument] → THML里的文档对象;


Five—数组类型 array → 一种特殊的对象

var x = new Array( );
var a = [ ]; 上面的简写;
alert( a ); →弹出 空


3.png

alert( typeof x );


4.png

var a = [ 1,'abc',true,[1,2,3],null,a ] ;
alert (a);
5.png

数组里可以放任何数据类型 放自己也可以;用 , 格开
unll数据 → 空指针
  var x = null;
  alert ( x );
6.png

var x = null;
alert ( typeof x ); null也是对象类型


7.png

Six—function 函数类型

var x = function (){};
alert( x );弹出整个函数


5.png

alert( typeof x );弹出函数类型


6.png

有名函数与匿名函数

有名函数: function fn(){ } 在window下定义的叫全局函数 → 执行它直接 fn()可以执行了;
匿名函数: var a = function (){ } 匿名函数不能单独出现,必须要给他指定一个变量 或 事件才可以;

函数===方法

obj.index = function(){} 自定义对象属性可以函数;
obj.index() 调用自定义函数 可以说:obj调用index方法;
如果对象的属性是一个函数,我们就称这个对象有这个方法;


undefined类型 → 未定义类型

var x = undefined;
var x ; 
alert ( x );
7.png

  alert ( typeof x );
8.png

在写项目的时候有时候会一个声明,但不给它值到最后都会给

注意:
没有var 声明 直接alert ( x ) ;会报错,没有定义
未定义跟没有定义不一样:
    未定义是指没有给它指定数据;是合理存在
    没有定义指这个变量不存在 就会报错;


不能用来做变量

Number
String
Boolean
Function

function
null
undefined
保留字:float double class ....
保留字指现在没用以后可能会用

变量名取法:
1、见名知意
例:

  

一看就知道是object对象通过box 获取的节点对象(Dom对象)
如果获取得到的是一个数组对象可以用aBox 其他的类似;

你可能感兴趣的:(JavaScript基础3 数据类型)