JS使用[]或.来访问对象属性

属性是一个变量,用来表示一个对象的特征(height/width/color...);方法是一个函数,用来表示对象的操作。

在JavaScript中,有两种方法访问对象的属性"."和"[ ]"。

1、使用"."  "[ ]"访问对象属性

      1> "."

            oBtn.style.width

       2> "[ ]"

            oBtn.style['width']    //[ ]里面是字符串

2、访问对象的方法:

       只能用"."   eg:

       oBtn.函数名()

3."."与"[ ]"使用场景:

扫描二维码关注公众号,回复: 62715 查看本文章

    "."后面的值无法你修改;"[ ]"里面的值可以随便变

        eg(有如下代码):

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<script type="text/javascript">
	/*
		第一行文本框内输入需要改变的属性(width/height/color)
		第二行输入改变的具体样式的属性值(300px/100px/#fff)
		点击确定按钮
		使div的样式随着第一二行设置的样式而改变
	*/
	window.onload = function(){
		var oAttr = document.getElementById('attr');
		var oVal = document.getElementById('val');
		var oBtn = document.getElementById('btn1');
		var oDiv = document.getElementById('div1');
		oBtn.onclick = function(){
			oAttr.value//存的'width'/'height'.....
			oVal.value//'200px'/'#000'.....
			oDiv.style.width = oVal.value;//.后面的值无法被替换或者修改
			/*	可以执行,因为"."后面的width这个是定的,无法改变,只是对width赋值*/
			oDiv.style.oAttr.value = oVal.value;
			/*
			  相当于在div中,加了<div style = 'oAttr.value'></div>,但style并没有oAttr.value,并且oAttr.value会因为value值一直改变,结果会报错
			*/
			oDiv.style[oAttr.value] = oVal.value;//[]里的值可以修改(是字符串)
			/*JS中"."允许被替换成"[]",这是没有影响的比如:oBtn['onclick']= function(){}*/

		}
	}
</script>
<body>
	请输入属性名称:<input type="text" id="attr">
	请输入属性值:<input type="text" id="val">
	<input type="button" value="确定" id="btn1">
	<div id="div1"></div>
</body>
</html>

        

猜你喜欢

转载自blog.csdn.net/whoops_butterfly/article/details/80075097