javascript自学之路---变量基础

4.1 基础类型和引用类型

基础类型有:number (整数) string(字符串)null(对象)booleam(布尔值)Undefined (Undefined)----javascript特有的类型!

引用类型:保存在内存的对象!

4.2 动态属性

<span style="font-size:14px;color:#3333ff;">
var obj=new Object();	//新建了一个对象保存在变量obj
obj.name="xxxxx";	//然后给obj加了个属性name等于xxxxxx
alert(obj.name);	//弹出obj.name
//可以为对象添加属性</span>

<span style="font-size:14px;color:#3333ff;">var num= "xxxx";<span style="white-space:pre">	</span>//将一个字符串保存在变量num
num.name=27;<span style="white-space:pre">		</span>//添加属性
alert(num.name);<span style="white-space:pre">	</span>//弹出报错!</span>
<span style="font-size:14px;color:#3333ff;">//不能为基本类型添加属性</span>


4.3 保存变量

除了保存方式不一样!从一个变量与另一个变量复制,基本类型和引用类型也有不同!

↓基本类型

<span style="font-size:14px;color:#3333ff;">var num1=20;
var num2=num1;
num2=30;
alert(num1);       //20<span style="white-space:pre">	</span>两个是独立的值! </span>
↓引用类型
<span style="font-size:14px;color:#3333ff;">var obj1=new Object();
var obj2=obj1;
obj1.name="xxxx";
alert(obj2.name);    //弹出xxxx<span style="white-space:pre">	</span> /引用类型,使用同一个对象!</span>

4.4 传递参数

js虽然有两种类型,但是函数传参。却是按值传递的!

↓基本类型传参

count作为参数传进setNum函数运算,这个时候count的值20被复制给局部变量num。运算结果不改变count的值。

<span style="font-size:14px;color:#3333ff;">function setNum(num){
        num+=10;
        return  num;
}
var  count=20;
alert(setNum(count));     //弹出30
alert(count)     //弹出20</span>

↓引用类型传参

per作为对象传值进setName函数,给obj添加一个属性。per也会拥有这个属性。因为obj和per指向的都是同一个对象!

<span style="font-size:14px;color:#3333ff;">function setName(obj){
     obj.name="xxxx";
}
var per=new Object();
setName(per);
alert(per.name);   //弹出xxxx</span>
↓如果在函数局部重新定义一个对象。不会影响全局对象!

<span style="font-size:14px;color:#3333ff;">function setName(obj){
	obj.name="xxxx";
	bj=new Object();	//重新定义obj对象
	obj.name="Boy";	        //obj添加属性
}
	var per=new Object();
	setName(per);
	alert(per.name);	//依然弹出xxxx</span>

4.5检测类型

如果我们想检测一个变量是基本类型还是引用类型。那么需要用到 instanceof。

结果 = 变量 instanceof 类型;

<span style="font-size:14px;color:#3333ff;">alert(per instanceof Array);<span style="white-space:pre">	</span>//per是一个数组吗
alert(per instanceof Object);<span style="white-space:pre">	</span>//per是一个对象吗
alert(per instanceof RegExp);<span style="white-space:pre">	</span>//per是一个RegExp吗</span>





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值