javascript的基本类型剖析:

javascript的基本数据类型包含 string,number,boolean,function,object,undified基本的6的基本数据类型

这篇文章就主要介绍一下这六种基本数据类型的主要方法和使用

1 字符类型string

  经常使用的方法有
  parseInt(str1) 不是字符类型的方法
  substring(3,5) 字符截取
  indexOf("h")。lastIndexOf("h") 索引查找
  toUpperCase() 大写和小写转换函数

 var str="abc"; //最经常使用的字符变量赋值 相似于 var str=new String("abc")
   //经常用法
   //1 把一个字符转换为 字数,比方 把 “1234” 转换为 数值类型的整数
    var str1="1234"
    //这里须要注意的是parseInt并非string类型的方法,而是window对象的方法
     console.info(parseInt(str1)) 
     
      var str2="heshengjun123test"
    // 2 把一个字符串进行截取  比方 把  var str2="heshengjun123test"
    //截取 3,5 之间的字符
    //须要注意的是 字符、数组的下标都是从0 開始计算
     console.info(str2.substring(3,5)) //包含第三个字符,不包含第五个字符
     //查找字符第一次的位置,假设找不到则返回-1
     console.info(str2.indexOf("h")) //能够传一个字符,也能够传入字符串
      //从字符后面開始查找字符第一次的位置。假设找不到则返回-1
     console.info(str2.lastIndexOf("h"))  //
     //字符串连接
     console.info(str2.concat("haoren")) //把两个字符串连接起来返回 等效于 str2+"haoren"
     //大写和小写转换函数
     console.info(str2.toUpperCase()) 
     

2 数值类型 number 

  几个特别的值 NaN,Infinity,-Infinity
  对于NaN和其它数据进行计算返回的是 NaN

    //定义数值
     var num=123; //等效于new Number(123)
     // 1/0 不会报错,会返回一个无穷大 Infinity  -1/0 返回一个无穷小 -Infinity
     console.info(1/0)
     console.info(-1/0)
     //两个数整数相除可能返回一个小数,这点和java等高级语言一样
     console.info(4/3) //返回 1.3333333333333333
     
     console.info(typeof NaN) //NaN是一个number的值,表示不是一个数(not a number)
     //比方parseInt("abc")就返回NaN
     console.info(parseInt("abc"))     
     console.info(.6) //表示一个数0.6 
     //NaN和其它数据计算返回一个NaN
     console.info(NaN-199);


3 布尔类型 boolean

  仅仅有两个值:true,false
  对于字符。数值能够转成为boolean中的true或者false
  字符能够转换为boolean类型,普通情况为true,空字符为false
  数字转换为boolean类型,普通情况为true,0 为false
  对于对象也能够转换为boolean类型,当中null对象转换为false
  对于一般的类型都能够使用两个!

转换为boolean类型


    //定义一个布尔类型变量 仅仅有两个值true false
     var bool=true; //等价于new Boolean(true)
     console.info(bool.toSource())
     //字符能够转换为boolean类型,普通情况为true,空字符为false
     if("abc"){
     	console.info("字符能够转换为boolean类型,普通情况为true。空字符为false")
     }
     //数字转换为boolean类型。普通情况为true,0,NaN 为false
     if(!NaN){
     	console.info("数字转换为boolean类型,普通情况为true,0 为false")
     }
     //对于一般的类型都能够使用两个。转换为boolean类型
     //对于对象也能够转换为boolean类型
     if(!null){
     	console.info("对象转换为boolean ")
     }

4 function类型

  很多其它具体介绍请參考下一篇关于函数的专题
  函数有三种定义方式:function 语句、 函数直接量、Function构造函数
    //定义、声明一个函数
     var fun1=function(){
		console.info("这是一个函数")     	
     }     
     //运行一个函数
     fun1();
     console.info(fun1.length) //返回定义函数的參数个数
     console.info(fun1.arguments) //arguments这个变量须要在定义函数中使用,能够获取实际的參数个数
     //对于函数的call()方法和apply()方法。下节具体介绍,主要是改变函数的作用域
     console.info(fun1.call())
     //toSource方法不一定有。火狐浏览器支持 返回函数的定义
     console.info(fun1.toSource())
     
     //定义一个使用arguments的函数 
     //对于有返回值的函数,返回值表达式须要分号结尾,而且放到最后
     function fun2(x,y){
     	//实际參数的个数
     	alert(arguments.length)
     	//具体的參数值
     	alert(arguments[0])
     }
     //运行函数
     fun2(1,2,3,4);

5 object对象

  这里是指详细的实例对象,不是类的概念
  对象的简单表示 {'name':'zhangsan','age':18}
  propertyIsEnumerable 属性推断, 能够通过for..in循环出来
  hasOwnProperty  自己的属性,不是原型的属性

   //定义一个对象
     var obj={'name':"zhangsan",'age':18}   
     //每一个对象都有的一个变量
     obj.prototype=123 
     //构造函数
     console.info(obj.constructor())
     //推断是否是自己的属性 返回true false
     console.info(obj.hasOwnProperty('name'))
     //返回这个对象的值
     console.info(obj.valueOf())
     //propertyIsEnumerable 推断一个对象的不是原型的属性
     // 能够通过for..in循环出来
     console.info(obj.propertyIsEnumerable("name"))
     for(var i in obj){
     	console.info(i)
     }

6 undified类型

 变量声明了,可是并没有被赋值  事实上也等同于Null
   var a;
     //仅仅有声明,没有赋值。值为undefined
     console.info(a) 
     //undefined 类型
     console.info(typeof undefined)
     //两个值相等
     console.info(undefined==null)






原文地址:https://www.cnblogs.com/mthoutai/p/6785289.html