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)