以下是一些身边的同事,包括自己在找工作的时候,遇到的面试题,希望对你有帮助。面试题基本来自大厂 - 百度、阿里、腾讯、美团、滴滴、头条、58 等等,很有参考借鉴的价值
<div id="page">
<div class="main">
<div class="sub"></div>
</div>
<div class="nav"></div>
</div>
<style type="text/css">
#page { width: 520px; }
.nav { width: 200px; float: right }
.main { width:200px; float: left; padding-left: 110px; }
.sub { width: 100px; float: left; margin: 10px 0 10px -100px; }
.main { border: 1px solid #000; }
.nav, .sub{ border: 1px; dashed #000; height: 300px }
.sub { height: 280px }
</style>
function SuperClass() {
this.name = "women";
this.bra = ["a", "b"];
}
SuperClass.prototype.sayWhat = function() {
console.log("hello")
}
function SubClass() {
this.subname = "you sister";
SuperClass.call(this);
}
var sub = new SubClass();
console.log(sub.sayWhat());
6. 当 click 点击新闻列表 Li (DOM节点)时,收集当前新闻的索引,新闻名称,新闻链接,并使用JSONP方式向地址(http://sina.cn/)上报,住:使用原生 JavaScript 实现,兼容 IE 和标准浏览器
<ul>
<li><a href="http://weibo.cn">微博</a></li>
<li><a href="http://sina.cn">新浪</a></li>
</ul>
'/foo'.rewrite(/^\/foo/, '/bar')
'u1234'.rewrite(/^\/u(\d+)/, '/user/$1')
'/i'.rewrite(/^\o/, '/ooo')
9. 实现一个 js 对象序列化函数,将 js 对象序列化为可反序列化的代码,要求1.尽量和json兼容,2.支持不可序列化的值,如undefined/NaN/Infinify-Infinity,3. 支持特殊对象,如正则、Date等
serialize({})
serialize({ a: 'b' })
serialize({ a: 0/0 })
serialize({ a: /foo/ })
range(1, 10, 3) 返回 [1, 4, 7, 10];
range('A', 'F', 2) 返回 ['A', 'C', 'E']
// 请使用 JavaScript 语言实现该功能(可以使用 ES6)
[
{
time: Number,
content: String
},
{
time: Number,
content: String
}...
]
(其中 time 表示时间,content表示弹幕内容),那么如何快速定位到某个时间点的弹幕,请编码实现(不使用数组的 sort 方法)
(function() {
fn();
var fn = function() {
alert(1);
}
fn();
function fn() {
alert(2)
}
})()
function doSomething() {
alert(this);
}
a) element.onclick = doSomething, 点击 element 元素后
b) element.onclick = function() doSomething(){}, 点击 element 元素后
c) 直接执行 doSomething()
var obj = {};
var events = { m1: "clicked", m2: "changed"};
for(e in events) {
obj[e] = function() {
alert(events[e])
}
}
alert(obj.m1 == obj.m2);
obj.m1();
obj.m2();
function Father() {}
function Son() {}
var Obj = function(msg) {
this.msg = msg;
this.shout = function () {
alert(this.msg)
}
this.waitAndShout = function() {
// 隔五秒钟后执行上面的 shout 方法
}
}
var url = "http://www.58.com/index.aspx?key0=0&key1=1&key2=2..."
var obj = parseQuerySting(url);
alert(obj.key0) // 输出 0
var name = "world";
(function () {
if (typeof name === "undefined") {
var name = "jack";
console.log("Hi!" + name);
} else {
console.log("Hello," + name)
}
})()