javascript基础知识

将字符串转换为数字

方法一:

当一个字符串用于数字环境中,它也会自动转换为一个数字。例如:

var res="21" * "2";  //res=42

利用这一优点,只需要将一个字符串表示的数字减去0就可以讲其转换成一个数字了

var r="21"-0; /// r=21;

(注意:这样做必须保证字符串类型的数字中没有字符串,否则结果就是Nan.    给字符串加一个0  其结果是字符串而不是数字 

方法二:

parserInt()parseFloat()这两个方法可以讲字符串开始处转换和返回任何的数字,忽略或舍去非数字部分。如果一个字符串以"0x"或者"0X"开头,parserInt()将其解析为一个十六进制的数字。举例:

parseInt("3 slfsa"); /// 3

parseFloat("3.14  sldf") /// 3.14

parseInt("12.34"); /// 12

parseInt("0xff"); /// 255

parseInt()  甚至可以接受另一个参数来指定要解析的数字的基数。合法的值在236之间(后面的参数代表 前面的那个字符串表示的数字 的进制数(进制基数))。例如

parseInt("11",2); 3  (1*2+1)

parseInt("ff",16); /// 255 (15*16+15)

parseInt("zz",36); /// 1295 (35*36+35)

parseInt("077",8); /// 63 (7*8+7)

parseInt("077",10) /// 77 (7*10+7)

布尔类型的转换

布尔值很容易转换,从其他类型转换为布尔值也较容易,而且往往是自动转换的。

如果一个布尔值用在数值环境中,true就会转换为1false就会转换为0

若一个布尔值用在字符串中,true就会转换为“true”  false就会转换为"false"

对象

1.创建对象:

A)可以通过调用特殊的构造函数创建。例如:var o=new Object();  var d=new Date()

var parrern=new RegExp("'\\sjava\\s","i");

2.对象直接量

Javascript定义了对象直接量的语法,从而能够创建对象并定义它的属性。对象直接量(也称对象初始程序)是由一个列表构成的,这个列表的元素是用用冒汗分割的属性键值对,元素之间用逗号隔开了,这个列表包含在花括号之中。

例如:var point ={x:12,y:23}

说明:对象直接量中使用的属性值不必是常量,它可以使任意 javascript表达式

2.对象转换

当一个非空对象用于布尔环境的时候,它转换为true

当一个对象用于字符串环境,javascript调用toString()方法,并且返回改函数的字符串的值。

当一个对象用于数字环境,javascript首先调用该对象的valueOf()方法。如果这个方法返回一个基本类型的值,这个值会被使用。然而,在大多数情况下,valueOf()方法返回的是对象自己。在这种情况下,javascript首先使用toString()方法把对象转换为一个字符串,然后再试图把改字符串转换为一个数字。

数组

数组和对象一样是数值的集合。可以通过下标来访问数组元素。

数组的创建

a.可以使用构造函数Array()来创建数组,

例如:var a=new Array();

A[0]=23;  a[1]="javascript";    a[2]=true;   a[3]={x:1,y:3}

b.也可以直接将值作为参数传入构造函数中。(注意:如果只向Array()构造函数传递一个参数,那么该参数指定的是数组的长度。而不再是数组的值了)

数组直接量

Javascript定义了创建并初始化的直接量语法。数组直接量(或数组初始化程序)是一个封闭在方括号的序列,序列中的元素由逗号分隔。括号内的值将被依次赋值给数组元素,下标值从0开始。

例如:var a=[1.2,"javascript",true,{x:1,y:3}]与上面类似

而且,与对象直接量相同,数组直接量中的元素不必仅限于常量,它可以使任意的表达式

例如:var base=123;   var table=[base,base+1,base+3]

数组直接量中还可以存放未定义的元素,只要在逗号之间省去改元素的值就可以了,例如:var arr=[1,,,,5]   //代表数组存放了5个元素,其中3个是未定义的

Null

Javascript的关键字null是一个特殊的值,它表示无值。null常被看作对象类型的特殊值,即代表“无对象”,null是一个独一无二的值,有别于其他所有的值。如果一个变量的值为null,那么说明他的值就不是有效的对象、数组、数组、字符串和布尔值。

null用于布尔环境时,它转换为false;

当它用于一个数字环境时,它转换为0;

当它用于字符串环境是转换为"null"

Undefined

还有一种特殊javascript会偶尔一用,它就是undefined。在使用了一个并未声明的变量时,或者使用了已经声明但还没有赋值的变量时,又或者使用了一个并不存在的对象属性时,返回的就是这个特殊值(undefined)

如果属性my.prop并不存在或者存在但是值为nullmy.prop==null的值为true。由于nullundefined都表明缺少值,所以这种相等性正是我们想要的,如果必须区分nullundefined,可以使用= = =运算符或者typeof运算符

转换问题

当未定义的值用于布尔环境,它会转换为false

当用于一个数字环境,它会转换为NaN;

当用于一个字符串环境,它会转换为“undefined

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值