学习blus老师js(1)--基础

1.网页换肤:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<link id="l1" rel="stylesheet" type="text/css" href="css1.css" />
<script>
function skin1()
{
    var oL=document.getElementById('l1');
    
    oL.href='css1.css';
}

function skin2()
{
    var oL=document.getElementById('l1');
    
    oL.href='css2.css';
}
</script>
</head>

<body>
<input type="button" value="皮肤1" onclick="skin1()" />
<input type="button" value="皮肤2" onclick="skin2()" />
</body>
</html>
View Code

css1.css

@charset "utf-8";
/* CSS Document */

body {background:black;}
input {width:200px; height:100px; background:yellow;}
View Code

css2.css

@charset "utf-8";
/* CSS Document */

body {background:#CCC;}
input {width:100px; height:50px; background:red;}
View Code

 

2.

 任何标签都可以加ID,包括link

任何标签的任何属性,也都可以修改
HTML里怎么写,JS里就怎么写
但是有一个例外,html的class,js里面要写className,因为class在js里面是一个关键字;
除了class外,html里面和js里面属性都是统一。
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {width:100px; height:100px; border:1px solid black;}
.box {background:red;}
</style>
<script>
function toRed()
{
    var oDiv=document.getElementById('div1');
    
    oDiv.className='box';
}
</script>
</head>

<body>
<input type="button" value="变红" onclick="toRed()" />
<div id="div1">
</div>
</body>
</html>
View Code

 

3. 

操作属性的方法:
第一种方法:使用xx.xx
oTxt.value = 'abc';
第二种方法:使用[]
oTxt['value'] = '123';
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
function setText(name)
{
    var oTxt=document['getElementById']('txt1');
    
    //第一种操作属性的方法
    //oTxt.value='dsfasdfasdf';
    
    //第二种操作属性的方法
    oTxt[name]='dsfasdfasdf';
}
</script>
</head>

<body>
<input id="txt1" type="text" />
<input type="button" value="改变文字" onclick="setText('title')" />
</body>
</html>
View Code

 

4.变量类型

1) typeof运算符
js里面常见的6种类型:
numberstringbooleanundefinedobjectfunction
一个变量应该只存放一种类型的数据
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
var a=12;
//alert(typeof a);    //number

a='asdfasd';
//alert(typeof a);    //string

a=true;
//alert(typeof a);    //boolean

a=function ()
{
    alert('abca');
};
//alert(typeof a);    //function

a=document;
//alert(typeof a);    //object

var b;
alert(typeof b);    //undefined

//1.真的没定义
//2.虽然定义,没有给东西
</script>
</head>

<body>
</body>
</html>
View Code

 

2)数据类型转换:

  • 显式类型转换(强制类型转换)
NaN Not a Number 非数字
var a = parseInt('abc');
alert(a) ; //NaN
alert(isNaN(a)) ; //true
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload=function ()
{
    var oTxt1=document.getElementById('txt1');
    var oTxt2=document.getElementById('txt2');
    var oBtn=document.getElementById('btn1');
    
    oBtn.onclick=function ()
    {
        var n1=parseInt(oTxt1.value);
        var n2=parseInt(oTxt2.value);
        
        if(isNaN(n1))
        {
            alert('您输入的第一个数字有误');
        }
        else if(isNaN(n2))
        {
            alert('您输入的第二个数字有误');
        }
        else
        {
            alert(n1+n2);
        }
    };
};
</script>
</head>

<body>
<input id="txt1" type="text" />
<input id="txt2" type="text" />
<input id="btn1" type="button" value="求和" />
</body>
</html>
View Code
  • l隐式类型转换
  ==、===
var a=5;
var b='5';

alert(a==b);    //true        先转换类型,然后比较alert(a===b);    //false        不转换类型,直接比
var a='12';
var b='5';

alert(a+b);        //125  1.字符串连接        2.数字相加
alert(a-b);        //7  1.数字相减

 

 5.什么是闭包

简单的理解:

子函数可以使用父函数中的局部变量
之前一直在使用闭包
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
//子函数可以使用父函数的局部变量

function aaa()        //父函数
{
    var a=12;
    
    function bbb()    //子函数
    {
        alert(a);
    }
    
    bbb();
}

aaa();
</script>
</head>

<body>
</body>
</html>
View Code

但是闭包还有一些高级的应用;

 

6.命名规范:

命名规范及必要性
l可读性——能看懂
l规范性——符合规则
 
匈牙利命名法
l类型前缀
l首字母大写

 

 

7.什么是真、什么是假:

真:true、非零数字、非空字符串、非空对象
假:false、数字零、空字符串、空对象、undefined

 

8.json

var json={a: 12, b: 5, c: 7};

//循环json
for(var key in json)
{
    alert('第'+key+'个东西:'+json[key]);
}

 

9.

 

 

 

 

 

 

 

 

 

 

 

 

------------------

posted on 2017-10-14 20:42  有点懒惰的大青年  阅读(274)  评论(0编辑  收藏  举报