js代码中 何时加入引号,何时不加

JavaScript015

js代码中 何时加入引号,何时不加,第1张

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>函数传参</title>

</head>

<style type="text/css">

#div1{

width: 200px

height: 200px

border: red solid 2px

background-color: red

background-size:cover

}

</style>

<script type="text/javascript">

function set(set1,set2){

var js_1=document.getElementById('div1')

js_1.style[set1]=set2

}

</script>

<body>

<input type="button" value="变绿" onclick="set('backgroundColor','green')" />

<input type="button" value="变宽" onclick="set('width','400px')" />

<input type="button" value="变高" onclick="set('height','400px')" />

<input type="button" value="向右" onclick="set('margin-left','200px')" />

<div id="div1">

</div>

</body>

</html>123456789101112131415161718192021222324252627282930313233123456789101112131415161718192021222324252627282930313233

先注意下 单双引号的位置

1.单引号:var js_1=document.getElementById(‘div1’)

2.单引号:onclick=”set(‘width’,’400px’)”

3.双引号 :一般我不在 js中用双引号,除非特殊情况例

<input type="button" onclick="alert("1")">-------------------不正确

<input type="button" onclick="alert('1')">-------------------正确1212

即 代码内部有单引号时必须用双引号,其他情况本人一般都用单引号

加引号的是字符串常量(例如 id ,class)

不加引号的是变量(还有基本所有形参,和一些非实参)、、

送给 一段代码 ,上面有我说的情况,代码实现,不做解释

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<style>

div {width:200pxheight:200pxmargin:20pxfloat:leftbackground:yellowborder:10px solid blackfilter:alpha(opacity:30)opacity:0.3}

</style>

<script>

window.onload=function ()

{

var oDiv1=document.getElementById('div1')

oDiv1.onmouseover=function ()

{

startMove(this, 'opacity', 100)

}

oDiv1.onmouseout=function ()

{

startMove(this, 'opacity', 30)

}

}

function getStyle(obj, name)

{

if(obj.currentStyle)

{

return obj.currentStyle[name]

}

else

{

return getComputedStyle(obj, false)[name]

}

}

function startMove(obj, attr, iTarget)

{

clearInterval(obj.timer)

obj.timer=setInterval(function (){

var cur=0

if(attr=='opacity')

{

cur=parseFloat(getStyle(obj, attr))*100

}

else

{

cur=parseInt(getStyle(obj, attr))

}

var speed=(iTarget-cur)/6

speed=speed>0?Math.ceil(speed):Math.floor(speed)

if(cur==iTarget)

{

clearInterval(obj.timer)

}

else

{

if(attr=='opacity')

{

obj.style.filter='alpha(opcity:'+(cur+speed)+')'

obj.style.opacity=(cur+speed)/100

}

else

{

obj.style[attr]=cur+speed+'px'

}

}

}, 30)

}

</script>

</head>

<body>

<div id="div1"></div>

</body>

</html>

.style.width和style.height可以接受两种类型的赋值,一种是字符串,一种是数字,当使用数字时,一般情况下默认是使用px即像素作为单位的。

在js里面,字符串的连接符是 “+”(加号),500+"px"里的500也会被当做字符串处理,所以完整的字符串"500px"和500+"px"的效果是一样.

而这一句:

this.style.width=500px

500px既不是数字,也不是字符串,肯定会报错,解释器会将px当做一个变量来处理,500还是被当做数字的,解释器会认为500和px中间少了界定符或运算符,所以会报: "缺少 ''"   错误,而不是报:"500px 不是一个有效的变量"或者"500px未定义"。

PS: To okbuzhidao112 朋友:在js中,使用不存在的变量时报的错误是:

xx未定义

缺少界定符报的错误才是:

缺少 ''