前端面試題

3.編寫JavaScript腳本生成0~7之間的隨機整數(包括0與7)php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1 id="randomNum"></h1>
    <h2>3.編寫JavaScript腳本生成0~7之間的隨機整數(包括0與7)</h2>
    <p>Math.random()產生的僞隨機數介於 0 和 1 之間(含 0,不含 1),也就是返回值可能爲0,但老是小於1</p>
    
    <script>
        var oRandomNum = document.getElementById('randomNum');
        oRandomNum.innerHTML = Math.floor(Math.random()*8);
    </script>
</body>
</html>css

4.var i = 2.1; alert(i>>>0); 彈出來的是什麼?html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h2>4.var i = 2.1; alert(i>>>0); 彈出來的是什麼?</h2>
    
    <script>
        var i = 2.1;
        alert(i>>>0);
    </script>
</body>
</html>jquery

彈出來的是2dom

5這段代碼輸出的結果是?this

   function MyObj(){
            
            this.p.pid++;
            
        }
        
        MyObj.prototype.p = {"pid": 0};
        
        MyObj.prototype.getNum = function(){
        
            return this.p.pid + num;
        
        }
        
        var _obj1 = new MyObj();    //1
        
        var _obj2 = new MyObj();    //2
        
        console.log(_obj1.getNum(1) + _obj2.getNum(2));
                        2 + 1              2 + 2
prototype

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <pre>
        function MyObj(){
            
            this.p.pid++;
            
        }
        
        MyObj.prototype.p = {"pid": 0};
        
        MyObj.prototype.getNum = function(){
        
            return this.p.pid + num;
        
        }
        
        var _obj1 = new MyObj();    //1
        
        var _obj2 = new MyObj();    //2
        
        console.log(_obj1.getNum(1) + _obj2.getNum(2));
                        2 + 1              2 + 2
    </pre>
    
    
    <script>
        function MyObj(){
            
            this.p.pid++;
            
        }
        
        MyObj.prototype.p = {"pid": 0};
        
        MyObj.prototype.getNum = function(num){
        
            return this.p.pid + num;
        
        }
        
        var _obj1 = new MyObj();
        var _obj2 = new MyObj();
        
        console.log(_obj1.getNum(1) + _obj2.getNum(2));
    </script>
</body>
</html>
htm

7. var a = document.getElementsByTagName('a');
        for(var i = 0; i < a.length; i++){
            a[i].onclick = function(){
                alert(i);
            }
        }

        本程序要完成的功能是: 點擊頁面的超連接時,彈出該連接的編號.
        請問該程序執行後,點擊頁面中的超連接時,會彈出什麼值?
        而後修改這段代碼(至少提供3種方式)來達到預期效果.對象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        a{
            text-decoration: none;
            border: 1px solid #f0f;
            width: 50px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            background: #f0f0f0;
            margin-right: 20px;
            display: inline-block;
        }
    </style>
</head>
<body>
    <pre>
        var a = document.getElementsByTagName('a');
        for(var i = 0; i < a.length; i++){
            a[i].onclick = function(){
                alert(i);
            }
        }

        本程序要完成的功能是: 點擊頁面的超連接時,彈出該連接的編號.
        請問該程序執行後,點擊頁面中的超連接時,會彈出什麼值?
        而後修改這段代碼(至少提供3種方式)來達到預期效果.
    </pre>
     <a href="">0</a>
     <a href="">1</a>
     <a href="">2</a>   
   
   
   
    <script>
        // 法一:

        var a = document.getElementsByTagName('a');
         for(var i = 0; i < a.length; i++){
             (function(i){
                a[i].onclick = function(){
                     alert(i);
                 }
             })(i)
         }

        // 法二:

        /*var a = document.getElementsByTagName('a');
        for(var i = 0; i < a.length; i++){
            
            a[i].onclick = (function(i){
                
                return function(){
                    alert(i);
                }
                
            })(i);

        }*/

        // 法三:

        /*var a = document.getElementsByTagName('a');
        for(var i = 0; i < a.length; i++){
            
            a[i].index = i;
            
            a[i].onclick = function(){
                
                alert(this.index);
                
            };
            
        }*/
    </script>
</body>blog

 


</html>

8.編寫一個類,類中定義以下屬性和方法:
        共有屬性和共有方法,共有靜態屬性和共有靜態方法,私有屬性和私有方法,
        特權屬性和特權方法,靜態屬性和靜態方法.
        而後,在代碼中經過註釋的形式註明上述每一個屬性和方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        h2{padding: 50px;}
    </style>
</head>
<body>
    <h2>8.編寫一個類,類中定義以下屬性和方法:
        共有屬性和共有方法,共有靜態屬性和共有靜態方法,私有屬性和私有方法,
        特權屬性和特權方法,靜態屬性和靜態方法.
        而後,在代碼中經過註釋的形式註明上述每一個屬性和方法.</h2>
    <a href="http://jingyan.baidu.com/article/d5c4b52bc2f71dda570dc575.html">詳解</a>
   
    <script>
        //公有屬性和公有方法
        function User(name, age){
            this.name = name;   //公有屬性
        }
        
        User.prototype.getName = function(){    //公有方法
            return this.name;
        }
        
        var user = new User("李小龍", "32");
        
        console.log(user.getName());    //李小龍
        
        
        //私有屬性和方法
        function User(name, age){
            var name = name;    //私有屬性
            var age = age;      
            function alertAge(){    //私有方法
                alert(age);
            }
            alertAge();          
        }
        
        var user = new User("林青霞", "52");
        
        
        //靜態屬性和方法
        /*在php中,無需實例化就能夠調用的方法就叫靜態方法,js也同樣,
         *無需實例化,即用new操做符實化對象,就可調用對象的方法和屬性。
        */
        function User(){}
        User.age = 18;  //靜態屬性
        User.myname = '小芳';
        User.getName = function(){
            return this.myname;     //若是這裏使用this.name,返回的將是User,因此改用了myname
        }
        console.log(User.getName());    //林青霞
        
        
        //特權方法
        function User(name, age){
            var name = name;    //私有屬性
            var age = age;
            this.getName = function(){  //特權方法
                return name;    //私有屬性個方法不能使用this調用
            }
        }
        var user = new User('奶茶妹',22);
        console.log(user.getName());    //奶茶妹
    </script>
</body>
</html>

9.編寫一個方法,求2個字符串的最長公共子串的長度.好比 "sohu.com" 和 "blog.souhu"的最長公共子串是"sohu", 長度爲4

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title>    <link rel="stylesheet" href="sweetalert/sweetalert.css"></head><body style="margin: 0">    <h2 style="width:830px; font-size:30px; text-shadow: 1px 1px 2px #000; color: #fff; margin: 20px auto; word-break: break-all;">9.編寫一個方法,求2個字符串的最長公共子串的長度.好比 "sohu.com" 和 "blog.souhu"的最長公共子串是"sohu", 長度爲4</h2>        <script src="sweetalert/jquery-1.11.3.js"></script>    <script src="sweetalert/sweetalert.min.js"></script>        <script>        function getMaxComStr(str1, str2){                    var shorter = (str1.length >= str2.length) ? str2 : str1;            var longer = (shorter == str1) ? str2 : str1;                        var len = shorter.length;            var comStr = '';            var comStrLen = 0;                        for(var i = len; i>0; i--){                for(var j = 0; j<len+1; j++){                    var str = shorter.substring(i, j);                       if(longer.indexOf(str) != -1 && str.length > comStrLen){                        comStr = str;                        comStrLen = str.length;                    }                }            }                        return '最長公共子串是:' + comStr + ';長度爲:' + comStrLen;        }        swal({            title: '來自某公司offer請求',            text: getMaxComStr('www.baidu.com/index.html','music.baidu.com/index.php'),            html: true,            imageUrl: '1.gif',            //timer: 3000,            confirmButtonText: '接受',            confirmButtonColor: '#6435c9',            closeOnConfirm: false,            showCancelButton: true,            cancelButtonText: '拒絕',            closeOnCancel: false,        }, function(isConfirm){                        if(isConfirm){                swal('聘請成功', 'Work hard to overcome the rich second generation', 'success');            }            else{                swal('未錄用', 'Sorry, you need to increase the front-end development skills', 'error');            }                        });            </script></body></html>

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息