1.JS找字符串中出现最多的字符
例如:求字符串'nininihaoa'中出现次数最多字符
var str = "nininihaoa";
var o = {};
for (var i = 0, length = str.length; i < length; i++) {
var char = str.charAt(i);
if (o[char]) {
o[char]++; //次数加1
} else {
o[char] = 1; //若第一次出现,次数记为1
}
}
console.log(o); //输出的是完整的对象,记录着每一个字符及其出现的次数
//遍历对象,找到出现次数最多的字符的次数
var max = 0;
for (var key in o) {
if (max < o[key]) {
max = o[key]; //max始终储存次数最大的那个
}
}
for (var key in o) {
if (o[key] == max) {
//console.log(key);
console.log("最多的字符是" + key);
console.log("出现的次数是" + max);
}
}
结果如图所示:
image2.JS实现九九乘法表
jQuery实现方式:
var sum=0;
var wite;
for (var i = 1; i < 10; i++){
var div=$('<div class="class'+i+'"></div>');
$("body").append(div);
for(var j = i; j > 0; j--){
sum = j * i;
wite = (j+"X"+i+"="+sum);
div.prepend($('<span style="padding-right:10px">'+wite+'</span>'));
}
}
实现结果如图所示:
image原生js实现方式:
css代码:
html,body,ul,li {
padding: 0;
margin: 0;
border: 0;
}
ul {
width: 900px;
overflow: hidden;
margin-top: 4px;
font-size: 12px;
line-height: 36px;
}
li {
float: left;
width: 90px;
margin: 0 4px;
display: inline-block;
text-align: center;
border: 1px solid #333;
background:yellowgreen;
}
for(var i = 1; i <= 9; i++){
var myUl = document.createElement('ul');
for(var j = 1; j <= i; j++){
var myLi = document.createElement('li');
var myText = document.createTextNode(j + " × " + i + " = " + i*j);
myLi.appendChild(myText);
myUl.appendChild(myLi);
}
document.getElementsByTagName('body')[0].appendChild(myUl);
}
image
3.前端面试:这几道前端面试:这几道前端面试题很绕吗?做对了几道?
第一题
var fun = function(){
this.name = 'peter';
return {
name: 'jack'
};
}
var p = new fun();
//请问p.name是:
第二题
var fun = function(){
this.name = 'peter';
return 'jack';
}
var p = new fun();
//请问p.name是:
第三题
var fun = function(){}
fun.prototype = {
info : {
name : 'peter',
age : 25
}
}
var a = new fun();
var b = new fun();
a.info.name = 'jack';
b.info.name = 'tom';
//请问a.info.name和b.info.name分别是:
第四题
var fun = function(){
this.info = {
name : 'peter',
age : 25
}
}
var a = new fun();
var b = new fun();
a.info.name = 'jack';
b.info.name = 'tom';
//请问a.info.name和b.info.name分别是:
第五题
var fun = function(){}
fun.prototype = {
name : 'peter',
age : 25
}
var a = new fun();
var b = new fun();
a.name = 'jack';
b.name = 'tom';
//请问a.name和b.name分别是:
第六题
var fun = function(){
this.info = {
name : 'peter',
age : 25
}
}
fun.prototype = {
info : {
name : 'peter',
age : 25
}
}
var a = new fun();
var b = new fun();
a.info.name = 'jack';
b.info.name = 'tom';
//请问a.info.name和b.info.name分别是:
4.通过示例搞懂JS闭包
5.JS重复输出一个给定的字符串
6.函数声明相关
7.作用域范围(Scope)
8.创建 “原生(native)” 方法
9.变量提升(Hoisting)
10.在javascript中,this是如何工作的
11.call() 和 apply()
12.闭包(Closures)
13.数据类型问题]
14.事件循环
15.算法问题
16.记腾讯一次糟糕的笔试面试经历
17.语义化标签
18.事件绑定相关
19.CSS选择器问题
20.一段关于JS中this应用奇葩代码引发的思考
21.列举你工作中遇到的IE6 BUG,谈谈解决方案
22.如何用CSS分别单独定义IE6、7、8的width属性
23.CSS中哪些属性不可以从父元素继承
24.你如何理解HTML结构的语意化
25.做好SEO需要考虑什么
26.我们知道可以以外链的方式引入CSS文件,请谈谈外链引入CSS有哪些方式,这些方式的性能有区别吗
27.CSS Sprite是什么,谈谈这个技术的优缺点
28.以CSS3标准定义一个webkit内核浏览器识别的圆角(尺寸随意)
29.如何触发这Doctype的标准模式和混杂模式?区分它们有何意义?
30.行内元素有哪些?块级元素有哪些?CSS的盒模型?
31.前端页面有哪三层构成,分别是什么?作用是什么?
32.有没有关注HTML5和CSS3?如有请简单说一些您对它们的了解情况!
33.怎样添加、移除、移动、复制、创建和查找节点
34.面向对象编程:b怎么继承
35.请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象
36.在工作中,对浏览器的兼容性怎么看待的
37.new 操作符具体干了什么?
38.[] 和 Array 调用 slice 方法引起的问题
39.使用localStorage存储数据,存储位置在哪里?
40.([] + {}).length ?
41.渲染优化
42.事件的各个阶段
43.快速的让一个数组乱序
44.最快捷的数组求最大值
45.更短的数组去重写法
网友评论