前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一些前端题目

一些前端题目

作者头像
前端小哥哥
发布2023-05-04 19:49:53
2080
发布2023-05-04 19:49:53
举报
文章被收录于专栏:前端小哥哥前端小哥哥

整理一下一些前端题目

以下分别输出什么,为什么

代码语言:javascript
复制
var User = {
  count: 1,
  getCount: function() {
    return this.count;
  }
};
 
console.log(User.getCount());  // what?
var func = User.getCount;
console.log(func());  // what?

答案是:1和undefined。

以下代码执行结果是什么

代码语言:javascript
复制

  var foo = 1,bar = 2,j,test;
  test = function(j) {
      j = 5;
      var bar = 5;
      foo = 5;
  }
  test(10);
  console.log(foo); //
  console.log(bar); //
  console.log(j); //

};
 
console.log(User.getCount());  // what?
var func = User.getCount;
console.log(func());  // what?

答案是:5 2 undefined。

说出输出的结果顺序

代码语言:javascript
复制
setTimeout(function() {
  console.log(1)
}, 0);
new Promise(function executor(resolve) {
  console.log(2);
  for( var i=0 ; i<10000 ; i++ ) {
    i == 9999 && resolve();
  }
  console.log(3);
}).then(function() {
  console.log(4);
});
console.log(5);

答案:“2 3 5 4 1”

以下代码执行结果是什么

代码语言:javascript
复制
function foo() {this.value = 42;}
foo.prototype = {method: function () {return true;}};
function bar() {
    var value = 1;
    return{method:function(){return value;}};
}
foo.prototype = new bar();
console.log(foo.prototype.constructor); //
console.log(foo.prototype instanceof  bar); //
var test = new foo();
console.log(test instanceof foo);//
console.log(test instanceof bar);//
console.log(test.method());//

答案:ƒ Object() { [native code] } False true false 1

用纯css,html写一个导航栏的tab切换(不使用js)

代码语言:javascript
复制
方法1:
<ul class='nav'>
    <li><a href="#content1">列表1</a></li>
    <li><a href="#content2">列表2</a></li>
</ul>
<div id="content1">列表1内容:123456</div>
<div id="content2">列表2内容:abcdefgkijkl</div>
<style type="text/css">
	#content1,
	#content2{
	    display:none;
	}
 
	#content1:target,
	#content2:target{
	    display:block;
	}
	#content1:target ~ .nav li{
	    // 改变li元素的背景色和字体颜色
	    &:first-child{
	        background:#ff7300;
	        color:#fff;
	    }
	}
	#content2:target ~ .nav li{
	    // 改变li元素的背景色和字体颜色
	    &:last-child{
	        background:#ff7300;
	        color:#fff;
	    }
	}
</style>
方法2:
<div class="container">
    <input class="nav1" id="li1" type="radio" name="nav">
    <input class="nav2" id="li2" type="radio" name="nav">
    <ul class='nav'>
        <li class='active'><label for="li1">列表1</label></li>
        <li><label for="li2">列表2</label></li>
    </ul>
    <div class="content">
        <div class="content1">列表1内容:123456</div>
        <div class="content1">列表2内容:abcdefgkijkl</div>
    </div>
</div>
<style type="text/css">
	.container{
    position:relative;
    width:400px;
    margin: 50px auto;
}
input{
    display:none;
}
.nav{
    position:relative;
    overflow:hidden;
}
li{
    width:200px;
    float:left;
    text-align:center;
    background:#ddd;
}
li label{
    display:block;
    width:200px;
    line-height:36px;
    font-size:18px;
    cursor:pointer;
}
.content{
    position:relative;
    overflow:hidden;
    width:400px;
    height:100px;
    border:1px solid #999;
    box-sizing:border-box;
    padding:10px;
}
.content1,
.content2{
    display:none;
    width:100%;
    height:100%;
}
.nav1:checked ~ .nav li {
    background:#ddd;
    color:#000;
    
    &:first-child{
        background:#ff7300;
        color:#fff;
    }
}
.nav2:checked ~ .nav li{
    background:#ddd;
    color:#000;
    
    &:last-child{
        background:#ff7300;
        color:#fff;
    }
}
.nav1:checked ~ .content > div{
    display:none;
    
    &:first-child{
    display:block;
    }
}
.nav2:checked ~ .content > div{
    display:none;
    
    &:last-child{
    display:block;
    }
}
.active {
        background:#ff7300;
        color:#fff;
}
.default{
    display:block;
}
</style>

编写程序,统计字符串var str=”helloworld”;中每种字符出现的次数,出现次数最多的是? 出现?次

代码语言:javascript
复制
var str="helloworld";
  方法一:用hash
  for(var i=0,hash={};i<str.length;i++){
    if(hash[str[i]]){
      hash[str[i]]++
    }else{
      hash[str[i]]=1;
    }
  }
  console.dir(hash);
方法二:用正则
var arr=str.split("")
  .sort()
  .join("")
  .match(/([a-z])\1*/g)
  .sort(function(a,b){
return b.length-a.length; })
console.log("出现最多的是: "+arr[0][0]
  +"共"+arr[0].length+"次");
var hash={};
  arr.forEach(function(val){
    hash[val[0]]=val.length;
  });
  console.dir(hash);

民间有一直有一游戏,玩法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。

请编写程序,输出1~60之间的所有“安全数” 比如: 1、2、3、4、5、6、8、9、10、11、12、13、15、16、18、19、20、22、23、24、25、26、29、30……

代码语言:javascript
复制
for(var i = 1; i <= 60 ; i++){
if(i%7 == 0 || i%10 == 7){
console.log(i);
}
}

浏览器输入url到完整显示出页面经历的过程

第一种简单的说呢就是这样的: 第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。 第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。 第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。 第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。 第五步:重复第四步,直到找到正确的纪录。

机试题

·点击某个节点元素,则该节点元素呈现一个特殊被选中的样式 ·增加一个删除按钮,当选中某个节点元素后,点击删除按钮,则将该节点及其所有子节点删除掉 ·增加一个输入框及一个“添加”按钮当选中某个节点元素后,点击增加按钮,则在该节点下增加一个子节点,节·点内容为输入框中内容,插入在其子节点的最后一个位置 ·提供一个按钮,显示开始遍历,点击后,以动画的形式呈现遍历的过程 ·当前被遍历到的节点做一个特殊显示(比如不同的颜色) ·每隔一段时间(500ms,1s等时间自定)再遍历下一个节点 ·增加一个输入框及一个“查询”按钮,点击按钮时,开始在树中以动画形式查找节点内容和输入框中内容一致的节点,找到后以特殊样式显示该节点,找不到的话给出找不到的提示。查询过程中的展示过程和遍历过程保持一致

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 整理一下一些前端题目
    • 以下分别输出什么,为什么
      • 以下代码执行结果是什么
        • 说出输出的结果顺序
          • 以下代码执行结果是什么
            • 用纯css,html写一个导航栏的tab切换(不使用js)
              • 编写程序,统计字符串var str=”helloworld”;中每种字符出现的次数,出现次数最多的是? 出现?次
                • 民间有一直有一游戏,玩法就是,大家轮流报数,如果报到能被7整除的数字,或者尾数是7的数字,都算踩地雷了。就应该罚唱歌。
                  • 浏览器输入url到完整显示出页面经历的过程
                    • 机试题
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档