JS(三)

cssText//对之前的cssText覆盖

<style>
#div1{
border:1px solid black;
}
</style>
</head>
<body>
<div id=div1>123</div>
<input id="btn1" type="button" value="按钮" />
<script>
var div1=document.getElementById('div1');
var btn1=document.getElementById('btn1');
div1.onclick=function(){
div1.style.cssText='200px;height:200px;';
}
btn1.onclick=function(){
div1.style.cssText='';
}
</script>
</body>

禁止点击按钮

disabled=true;

this:指的是调用当前方法(函数)的那个对象

alert(this);//object window
function fn1(){ alert(this);}
var oBtn=document.getElementById('btn1');
oBtn.onclick=function(){
fn1();//}指window这个对象
oBtn.onclick=fn1;//指向oBtn这个对象
fn1();//this指向window

//fn1()里面的this指向window 例子: ``` ``` ###'js解析器' 域:先解析,后执行 1、js的预解析:找var、 function、参数 a=未定义 所有的变量,在正式运行代码之前,都提前赋了一个值:未定义 fn1=function fn1(){alert(1);} 所有的函数,在正式运行代码之前,都是整个函数块 遇到重名的:只留一个。变量和函数重名,就只留函数;函数和函数重名,留后面那个。 2、逐行解读代码 表达式可以改变预解析的值,表达式包含参数 例子: alert(a);//function a(){alert(4);} var a=1; alert(a);//1 function a(){alert(2);} alert(a);//1 a=3; alert(a);//3 function a(){alert(4);} alert(a);//3 a();//报错 例子(注意这几个例子的区别): ``` var a=1; function fn1(){ alert(a);//undefined var a=2; } fn1(); alert(a);//1 ``` ``` var a=1; function fn1(){ alert(a);//undefined a=2;//1 } fn1(); alert(a);//2 ``` ``` var a=1; function fn1(a){ alert(a); a=2; } fn1();//undefined alert(a);//1 ``` ``` var a=1; function fn1(a){ alert(a); a=2; } fn1(a);//1 alert(a);//1 ``` 函数在自己的预解析域找不到变量可以改用全局变量 ####想要获取函数内的值 ``` var str=""; function fn1(){ var a="zsw"; str=a; } fn1(); alert(str); ``` ``` function fn2(){ var a='www'; fn3(a); } fn2();//www function fn3(a){ alert(a); } ``` ####if、for、while不是一个作用域(注意以下区别) ``` window.onload=function(){ var oBtn=document.getElementsByTagName('input'); for(var i=0;i
原文地址:https://www.cnblogs.com/zswmv/p/7086101.html