js基础知识

js基础语法

变量和数据

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js基础</title>
    <link href="Mycss.css" type="text/css" rel="stylesheet">
</head>
<body>
    <script>
        var i=10;
        var j=10;
        var m=i+j;
        //document.write(m);
    </script>
    <script>
        var string="hello";
        var i1=10;
        var flag=true;
        var arr=new Array();
        arr[0]=10;
        arr[1]=20;
        arr[2]=30;
        document.write(arr[2]);
        var n=null;
        var r;
    </script>
</body>
</html>

函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js定义函数</title>
    <link href="Mycss.css" type="text/css" rel="stylesheet">
</head>
<body>
    <script>
        function demo(){
            var a=10;
            var b=10;
            var sum=a+b;
            alert(sum);
        }
        function tell() {
            var n=10;
            var m=10;
            var vl=n*m;
            alert(vl);
        }
        tell();
    </script>
</body>
</html>

调用函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js定义函数</title>
    <link href="Mycss.css" type="text/css" rel="stylesheet">
</head>
<body>
    <script>
        function demo(){
            var a=10;
            var b=10;
            var sum=a+b;
            alert(sum);
        }
    </script>
    <form>
        <input type="button" value="按钮" onclick="demo">
    </form>
    //<button onclick="demo()">按钮</button>
</body>
</html>

参数传递

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>传递参数</title>
    <link href="Mycss.css" type="text/css" rel="stylesheet">
</head>
<body>
    <script>
        function demo(name,age){
            alert("Hello:"+name,"我的年龄是:"+age)
        }
    </script>
    <button onclick="demo('iwem',20)">按钮</button>
    <button onclick="demo('ime',20)">按钮</button>
</body>
</html>

捕获异常

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>异常捕获</title>
    <link href="Mycss.css" type="text/css" rel="stylesheet">
</head>
<body>
    <script>
        function demo(){
            try{
                alert(str);
            }catch(err){
                alert(err);
            }
        }
        demo();
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>异常捕获</title>
    <link href="Mycss.css" type="text/css" rel="stylesheet">
</head>
<body>
    <form>
        <input id="txt" type="text">
        <input id="btn" type="button" onclick="demo()" value="按钮">
    </form>
    <script>
        function demo(){
            try{
                var c=document.getElementById("txt").value;
                if(c==""){
                    throw "请输入";
                }
            }catch (err){
                alert(err);
            }
        }
    </script>
</body>
</html>

DOM操作html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM</title>
    <link href="Mycss.css" type="text/css" rel="stylesheet">
</head>
<body>
    <p>Hello</p>
    <button onclick="demo()">按钮</button>
    <script>
        function demo() {
            document.write();
        }
    </script>
</body>
</html>

DOM操作CSS

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <div  id="div"  class="div">
    hello
    </div>
    <button onclick="demo()">按钮</button>
    <script>
        function demo(){
            document.getElementById("div").style.background="blue";

        }
    </script>
</body>
</html>
.div{
    width:100px;
    height:100px;
    background-color: red;
}

EventListener

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <button onclick="btn">按钮</button>
    <script>
        document.getElementById("btn").addEventListener("click",function(){
            alert("hello")
        });
    </script>
</body>
</html>

事件流

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <div id="div">
        <button id="btn1"></button>
    </div>
</body>
</html>

事件处理

直接处理html5文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <div id="div">
        <button id="btn1" onclick="demo()">按钮</button>
    </div>
    <script>
        function demo(){
            alert("Hello")
        }
    </script>
</body>
</html>

DOM2级处理事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <script>
        var btn1=document.getElementById("btn1");
        btn1.addEventListener("click",demo1);
        btn1.addEventListener("click",demo2);
        btn1.addEventListener("click",demo3);
        function demo1() {
            alert("DOM2级事件处理程序")
        }
        function demo2() {
            alert("DOM2级事件处理程序")
        }
        function demo3() {
            alert("DOM2级事件处理程序")
        }
        btn1.removeEventListener("click",demo2);
    </script>
</body>
</html>

创建对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <!创建对象>
    <script>
        people=new Object();
        people.name="iwen";
        people.age="30";
        document.write("name:"+people.name+",age"+people.age);
    </script>
</body>
</html>

字符串对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <!创建对象>
    <script>
        var str ="Hello World";
        document.write(str.length);
        document.write(str.indexOf("Hello"));
        document.write(str.match("hello1"));
        document.write(str.replace("world","jikexueyuan"));
        document.write(str.toUpperCase())
    </script>
</body>
</html>

数组对象

合并数组

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <!创建对象>
    <script>
        var a=["hello","world"];
        var b=["iwen","ime"];
        var c=a.concat(b);
        document.write(c);
    </script>
</body>
</html>

排序

 <script>
        var a=["5","2","4","3","1"];
        document.write(a.sort(function (a,b){
            return b-a;
        }));
    </script>

添加与翻转

<!创建对象>
    <script>
        var a=["a","b"];
            a.push("c");
        document.write(a);
        document.write(a.reverse());
    </script>

DOM操作HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <p name="pn">Hello</p>
    <p name="pn">Hello</p>
    <p name="pn">Hello</p>
    <p name="pn">Hello</p>
    <a id="aid" title=得到了a标签的属性">Hello</a>
    <a id="aid2">aid2</a>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
    <div>
        <p id="pid">div的p元素</p>
    </div>
    <script>
        function getName(){
            var count=document.getElementsByTagName("p");
            alert(count.length);
            var p=count[2];
            p.innerHTML="world";
        }
        function getAttr(){
            var anode=document.getElementById("aid");
            var attr=anode.getAttribute("title");
            alert(attr);
        }
        function setAttr(){
            var anode=document.getElementById("aid2");
            anode.setAttribute("title","动态设置a的title属性");
            var attr=anode.getAttribute("title");
            alert(attr);
        }
        function getChildNode(){
            var childnode=document.getElementsByTagName("ul")[0].childNodes;
            alert(childnode.length);
            alert(childnode[0].nodeType);
        }
        function getParentNode(){
            var div=document.getElementById("pid");
            alert(div.parentNode.nodeName);
        }
        function getSize(){
            var width=document.documentElement.offsetWidth;
            var height=document.documentElement.offsetHeight;
            alert(width+","+height);
        }
        getSize();
    </script>
</body>
</html>

Window对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
    <button id="btn" onclick="btnClicked()">按钮</button>
    <script>
        //document.write(window.innerWidth+window.innerHeight)
        function btnClicked(){
            window.open("bioindex.html","windowname","height=200,width=200,top=200","left=100");
            window.close();
        }
    </script>
</body>
</html>

计时器对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
    <button id="btn" onclick="mywin()">按钮</button>
    <button id="btn" onclick="stopWin()">按钮</button>
    <script>
       var win;
       function mywin(){
           alert("Hello");
           win=setTimeout(function(){alert("hello")},3000);
       }
       function stopWin(){
           clearTimeout(win);
       }
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
    <button id="btn" onclick="btnClicked()">按钮</button>
    <p id="ptime"></p>
    <script>
       var mytime=setInterval(function(){
           getTime();
       },1000);
       function getTime(){
           var d=new Date()
           var t=d.toLocaleTimeString();
           document.getElementById("ptime").innerHTML=t;
       }
       function stopTime(){
           clearInterval(mytime);
       }
    </script>
</body>
</html>

History对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <a href="bioindex.html">跳转到bioindex</a>
    <button id="btn" onclick="goob">按钮</button>
    <script>
        function goob(){
            history.forward();
        }
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <button id="bin" onclick="goceshi()">按钮</button>
    <script>
        function goceshi(){
            history.back();
        }
    </script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
</head>
<body>
    <a href="bioindex.html">跳转到bioindex</a>
    <button id="btn" onclick="goob">跳转</button>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form>
        <input type="text" id="username">
        <button id="btn" onclick="safe()">按钮</button>
    </form>
    <script>
        function safe(){
            var name=document.getElementById("username").value;
            if(name=="hello"){
                history.go(-1);
            }else{
                alert("输入错误");
            }
        }
    </script>
</body>
</html>

JS瀑布流实现

*{
    margin:0px;
    padding:0px;
}
#container{
    position:relative;
}
.box{
    padding:5px;
    float:left;
}
.box_img{
    padding:5px;
    border:1px solid #cccccc;
    box-shadow:0 0 5px  #cccccc;
    border-radius: 5px;
}
.box_img img{
    width:150px;
    height:auto;
}
.box_img img{
    width:150px;
    height:auto;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="Mystye.css">
    <script src="app.js"></script>
</head>
<body>
<div id="container">
    <div class="box">
        <div class="box_img">
            <img src="img/1.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/2.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/3.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/4.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/5.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/6.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/7.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/8.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/9.jpg">
        </div>
    </div>
    <div class="box">
        <div class="box_img">
            <img src="img/10.jpg">
        </div>
    </div>
</div>
</body>
</html>
window.onload=function(){
    imgLocation("container","box");
    imgLocation("container","box");
    var imgData={"data":[{"src":"2.jpg"},{"src":"3.jpg"},{"src":"4.jpg"},{"src":"5.jpg"},{"src":"6.jpg"}]};
    window.onscroll=function(){
        if(checkFlag()){
            var cparent =document.getElementById("container");
            for(var i=0;i<imgData.data.length;i++){
                var ccontent=document.createElement("div");
                ccontent.className="box";
                cparent.appendChild(ccontent);
                var boximg=document.createElement("div");
                boxing.className="box_img";
                ccontent.appendChild(boximg);
                var img=document.createElement("img");
                img.src="img/"+imgData.data[i].src;
                boximg.appendChild(img);
            }
            imgLocation("container","box");
        }
    }
}
function checkFlag(){
    var cparent=document.getElementById("container");
    var ccontent=getChildElement(cparent,"box");
    var lastContentHeight=ccontent[ccontent.length-1].offsetTop;
    var scrollTop=document.documentElement.scrollTop;
    var pageHeight=document.documentElement.clientHeight;
    if(lastContentHeight<scrollTop+pageHeight){
        return true;
    }
}
function imgLocation(parent,content){
    //将parent下多有的content全部取出
    var cparent=document.getElementById(parent);
    var ccontent=getChildElement(cparent,content);
    var imgWidth=ccontent[0].offsetWidth;
    var num=Math.floor(document.documentElement.clientWidth/imgWidth);
    cparent.style.cssText="wodth:"+ingWidth*cols+"px;margin:0 auto";
     var BoxHeightArr=[];
     for(var i=0;i<ccontent.length;i++){
         if(i<num){
             BoxHeightArr[i]=ccontent[i].offsetHeight;
             console.log(BoxHeightArr[i]);
         }
     }else{
         var minHeight=Math.min.apply(null,BoxHeightArr);
         var minIndex=getminHeightLocation(BoxHeightArr,minHeight);
         ccontent[i].style.position="absolute";
         ccontent[i].style.top=minHeight+"px";
         ccontent[i].style.left=ccontent[minIndex].offsetLeft+"px";
    }
}
function getminHeightLocation(BoxHeightArr,minHeight){
    for(var i in BoxHeightArr){
        if(BoxHeightArr[i]==minHeight){
            return i;
        }
    }
}
function getChildElement(parent,content){
    var contentArr=[];
    var allcontent=parent.getElementsByTagName("*");

    for(var i=0;i<allcontent.length;i++){
        if(allcontent[i].className==content){
            contentArr.push(allcontent[i]);
        }
    }
    return contentArr;
}

面向对象

//使用函数构造器构造对象
function People(name){
    this._name=name;
}
People.prototype.say=function(name){
    alert("peo-hello"+this._name);
}
function Student(name){
    this._name=name;
}
Student.prototype=new People();
var superSsay=Student.prototype.say;
Student.prototype.say=function(){
    alert("stu-hello"+this._name);
}
var s=new Student("iwen");
s.say();

面向对象的闭包操作,实现信息的隐藏

//使用函数构造器构造对象
(function(){
    var n="ime";
    function People(name){
        this._name=name;
    }
    People.prototype.say=function(){
        alert("peo-hello"+this._name+n);
    }
    window.People=People;
}());

(function(){
        function Student(name){
            this._name=name;
        }
        Student.prototype=new People();
        var superSsay=Student.prototype.say;
        Student.prototype.say=function(){
            alert("stu-hello"+this._name);
        }
        window.Student=Student;
    }()
)
var s=new Student("iwen");
s.say();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值