12
1-var str = “hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys”将字符串中出现次数最多的字母弹框输 出
var str = “hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys”
function countStr(str) {
var json = {};
var iMax = 0;
var iIndex = '';
for (var i = 0; i < str.length; i++) {
if (!json[str.charAt(i)]) {
json[str.charAt(i)] = 1;
} else {
json[str.charAt(i)]++;
}
};
for (var i in json) {
if (json[i] > iMax) {
iMax = json[i];
iIndex = i;
}
}
return {
count: iMax,
char: iIndex
}
}
console.log("字符统计:", countStr(str));
2-举例实现对象的深拷贝
function deepClone(obj) {
let cloneObj = null;
if (obj instanceof Object) {
let isArray = Array.isArray(obj);
cloneObj = isArray ? [] : {};
for (let key in obj) {
cloneObj[key] = obj[key] instanceof Object ? deepClone(obj[key]) : obj[key];
}
} else {
throw new Error('obj 不是一个对象!');
}
return cloneObj;
}
3-举例实现对象方法的继承
在JavaScript中实现继承的方法:
1. 对象冒充
2. call()
3. apply()
4. 原型链(prototype chaining)
5. 混合方式
4-写一个左中右布满全屏,其中左右固定宽度 200px,中间部分自适应,要求先加载中间部 分,写出结构和样式
css
<style>
* {
padding: 0;
margin: 0;
}
html,
body {
height: 100%;
}
.center {
height: 100%;
background: #1FA363;
margin: 0 200px;
}
.left {
position: absolute;
width: 200px;
height: 100%;
left: 0;
top: 0;
background: #DC4C3F;
}
.right {
position: absolute;
width: 200px;
height: 100%;
right: 0;
top: 0;
background: #FFCE44;
}
</style>
<body>
<div class="center">center</div>
<div class="left">left</div>
<div class="right">right</div>
</body>
5-封装一个 jqery 的插件
;(function ($) {
$.fn.setUpObjParentHeight : function(o){
var defaultValue = {
obj : null, //控制对象
czVal : 0 //高度容差值
};
o= $.extend({}, defaultValue , o || {});
var iframe = $(o.obj).length;
for(var i=0;i<iframe;i++){
$(o.obj).eq(i).height(function(){return $(this).parent().innerHeight()-o.czVal;})
}
}
})(jQuery);

浙公网安备 33010602011771号