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
对于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
字符能够转换为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构造函数
函数有三种定义方式: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 自己的属性,不是原型的属性
对象的简单表示 {'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)