javascript进阶之基础篇一: 变量与赋值

JavaScript 变量:
变量是存储信息的容器。JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y)。

1、JavaScript变量的命名规则:
<1>.变量必须以字母开头
<2>.变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
<3>.变量名称对大小写敏感(y 和 Y 是不同的变量
2、JavaScript变量的声明

变量是通过var关键字声明的,未使用值来声明的变量,其值实际上是 undefined。

var x; //声明一个变量x,未赋值,此时x默认值为undefined
x=0; //为变量x赋值为0
<1>.重新声明 JavaScript 变量,该变量的值不会丢失,下面y最后的值为1。
var y="hello world"; //向变量分配文本值时,应该用双引号或单引号包围这个值。
var y=1; //向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。
<2>.可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可:
var name="Gates", age=56, job="CEO";
<3>.声明也可横跨多行:
var name="Gates",
age=56,
job="CEO";
3、JavaScript支持多种数据类型,

字符串、数字、布尔、数组、对象、null、undefined。所以也可以声明其他多种数据类型的变量,JavaScript拥有动态类型,这意味着相同的变量可用作不同的类型

<1>.字符串:

字符串可以是引号中的任意文本。可以使用单引号或双引号:

var name="Gates",
age=56,
job="CEO";
<1.1>转义字符
\0 NULL字符
\b 退格符
\t 水平制表符
\n 换行符
\v 垂直制表符
\f 换页符
\r 回车符
\" 双引号
\' 单引号
\\ 反斜线
var s="hello,MrWang";
s.length(); //长度
s.charAt(0); //第一个字符
s.substring(0,1); //截取第一个到第二个
s.slice(0,1); //截取字符串的一部分,返回新的字符串。
s.indexOf("e"); //获取字符第一次出现的位置
s.lastIndexOf("e"); //字符最后一次出现的位置
s.indexOf("l",3); //在索引3以后,第一次出现字符l的位置
s.split(","); //["hello","MrWang"],按逗号切割成字符串数组;
s.replace("o","O"); //替换字符串
s.toLowerCase(); //将整个字符串转成小写字母。 
s.toUpperCase(); //将整个字符串转成大写字母
<1.2>模式匹配:JavaScript定义了RegExp()构造函数,用来创建表示文本匹配模式的对象,这个模式称为:正则表达式(regular Expression),在两条斜线之间的文本构成了一个正则表达式的直接量,第二条斜线之后也可跟随一个或者多个字母,用来修饰表达式的含义,例如:
/^html/ //匹配以HTML开始的字符串
/[1-9][0-9]*/匹配一个非零数字,后面是任意个数字
/\bjavascript\b/i //匹配单词javascript,忽略大小写
RegExp对象定义了很多有用的方法,字符串同样可以接收RegExp参数的方法,例如:
var text="testing:1,2,3";//文本视例;
var pattern=/\d+/g //匹配包含一个或者多个数字的实例
pattern.test(text);//true,匹配成功
text.search(pattern);//9,首次匹配成功的位置
text.match(pattern);//["1","2","3"];所有匹配成功组成的数组
text.replace(pattern,"#");//把所有匹配成功的值替换成对的表达式
text.split(/\D+/);//["","1","2","3"];用非数字字符截取字符串
<2>.数字:

JavaScript不区分整数值和浮点数值,所有数值均采用浮点数值表示,范围为:-2^53~2^53,包括边界值,然而实际操作是基于32位整数,

var x1=34.00; //使用小数点来写
var x2=34; //不使用小数点来写
数字的算术运算:
如果JavaScript运算溢出(overflow)、下溢(underflow)或者被零整除时不会报错,超出了JavaScript数值的上限结果为一个无穷大的值,以infinity表示
Math.pow(2,53); //2的53次幂
Math.round(6); //四舍五入;
Math.ceil(6.2); //向上取整
Math.floor(6.1); //向下取整
Math.abs(-5); //求绝对值
Math.max(x,y,z); //求最大值
Math.min(x,y,z); //求最小值
Math.random(); //生成一个大于等于0小于等于1.0的随机数
Math.PI; //圆周率
Math.E; //e,自然数的底数
Math.sqrt(3); //3的平方根
Math.pow(3,1/3); //3的立方根
Math.sin(0); //三角函数,还有Math.cos,Math.atan等
Math.log(10); //以10为底100的对数
Math.log(512); //以2为底512的对数
Math.exp(3); //e的三次幂
日期和时间:
var then=new Date(2012,0,1); //表示2012年1月1日
var later=new Date(2012,0,1,3,10,12); //表示2012年1月1日3点10分12秒
var now=new Date(); //当前的日期和时间
var elapsed=now-then; //日期减法,计算结果为间隔的毫秒数
then.getFullYear(); //获取年
later.getMonth(); //获取月
later.getDay(); //获取日
later.getHours(); //获取时间;
later.getUTCHours(); //使用基于UTC表示小时的时间,基于时区
<3>.布尔:

只有两种值:true或者false;任意JavaScript的值都可以转换为布尔值;

undefined,null,0,-0,NaN,“”,会被转为false,称为假值;
所有其他值,包括对象和数组都会转换为true,称为真值;
<4>.数组:

数组创建有3种方式

var arr=[2,3,5,7]; //拥有4个值的数组,由'['和']'划定边界限
var x=arr[0]; //x=2通过索引值取出数组的值;
var arr=new Array();arr[0]=“bill”;arr[1]="mark";arr[2]=''1"; //创建一个数组,通过索引值来改变数组该索引位置的值
var arr=new Array(''bill',"mark",”1“); //直接赋值
 
<5>.对象:

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:

var person={"name":"张三","id","1001"}; //一个包含两个属性的对象
var name=person.name; //取出name的值
var id=person['id']; //取出id的值
<6>.null和undefined
null是JavaScript的一个关键字,表示特殊值,常用来表示空值,对null进行typeof预算,结果返回“object”,表示null是一个特殊的对象值,含义是“非对象”;
undefined可以表示更深层次的“空值",是变量的一种取值,表明变量未经初始化;如果查询对象和数组的返回值为undefined,表示这个元素或者属性不存在。如果函数没有任何返回值,则返回undefined,引用没有提供实参的函数形参也只会得到undefined,undefined是一个预定义的全局变量,和null不一样,不是关键字,他的值就是未定义。
判断两者可以通过“==”运算符表示两者是相等的,严格来说是要用“===”运算符“;undefined表示系统级的错误,表示值不存在或者空缺,而null表示程序级的,如果要给变量赋值或者属性或者当做参数传入函数,最佳选择是null
4、声明变量的类型:
var carname=new String();
var x= new Number();
var y= new Boolean();
var cars= new Array();
var person= new Object();
5、变量的作用域:
一个变量的作用域(scope)是程序源代码中定义的变量的区域。全局变量拥有全局变量区域,在函数内部声明的变量只能在函数内有定义,是局部变量。函数参数也是局部变量,在函数体内,局部变量的优先级高级全局变量,如果在函数体内声明一个局部变量或者函数参数中带有变量且与全局变量同名,那么全局变量就会局部变量所遮盖。
例如:
var scope="global";//声明一个全局变量
scope2=“global2”;//全局变量不用写var语句来声明,但是局部变量必须用var来声明
function checkScope(){
 var scope="local";//声明了一个同名的局部变量
 scope2="1111";//修改了全局变量global2
 return scope;
}
checkscope();//输出“local”;
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值