var str = “hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys”将字符串中出现次数最多的字母弹框输出、举例实现对象的深拷贝、举例实现对象方法的继承、写一个左中右布满全屏,其中左右固定宽度 200px,中间部分自适应,要求先加载中间部分,写出结构和样式、封装一个 jqery 的插件
1-var str = “hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys”将字符串中出现次数最多的字母弹框输出
var str = 'hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys';
var result = maxN(str);
function maxN(str) { //定义一个json对象用于保存str的每一项以及出现次数。
var json = {}; //遍历str,循环其中的每一个字符,将某个字符的值及出现的个数拿出来作为json的key和value
for(var i=0;i<str.length;i++){ //判断json中是否有当前str的值
if(!json[str.charAt(i)]){
//如果不存在 就将当前值添加到json中去,并设置1
json[str.charAt(i)] = 1;
} else { //如果存在的话就让数组中已有的当前值的value值++;
json[str.charAt(i)] ++;
}
} //存储出现次数最多的值和次数
var number = '';
var num = 0;
//遍历json 使用打擂算法统计需要的值
for(var j in json){ //如果当前项大于下一项
if (json[j]>num) { //就让当前值更改为出现最多次数的值
num = json[j]; number = j;
}
} return {
number:number, num:num
}
}
alert('该字符串出现'+ result.num+'次的'+ result.number);
2-举例实现对象的深拷贝
//使用递归的方式实现数组、对象的深拷贝
function deepClone1(obj) {
//判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝
var objClone = Array.isArray(obj) ? [] : {};
//进行深拷贝的不能为空,并且是对象或者是
if (obj && typeof obj === "object") {
for (key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj[key] && typeof obj[key] === "object") {
objClone[key] = deepClone1(obj[key]);
} else {
objClone[key] = obj[key];
}
}
}
}
return objClone;
}
3-举例实现对象方法的继承
function Parent(firstname)
{ this.fname=firstname; this.age=40; this.sayAge=function() { console.log(this.age); }}function Child(firstname){ this.parent=Parent; this.parent(firstname); delete this.parent; this.saySomeThing=function() { console.log(this.fname); this.sayAge(); }}var mychild=new Child("李");mychild.saySomeThing();4-写一个左中右布满全屏,其中左右固定宽度 200px,中间部分自适应,要求先加载中间部分,写出结构和样式
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
html,body{
margin: 0;
width: 100%;
}
#leftDiv,#rightDiv{
width: 200px;
height: 200px;
position: absolute;
top: 0;
}
#leftDiv{
background: #16A05D;
left: 0;
}
#rightDiv{
background: #DC5044;
right: 0;
}
#centerDiv{
background: #FFCD41;
height: 200px;
}
</style>
</head>
<body>
<div id="leftDiv">左边div</div>
<div id="centerDiv">中间div</div>
<div id="rightDiv">右边div</div>
</body>
</html>
5-封装一个 jqery 的插件
(function($){
/**定义函数,jquery插件调用函数*/
$.fn.select=function(options,param){
if(typeof options == "string"){
var method = $.fn.select.methods[options];
if(method){ return method(this,param); }
}
}
/**定义函数事件*/
$.fn.select.methods={
onLoadSuccess: function(){},
onSelect: function(record){},
loadData: function(jq, data){
return jq.each(function(){ loadData(this, data); });
},
reload: function(jq, ajax){
return jq.each(function(){ request(this, ajax); });
},
setValue: function(jq, value){
return jq.each(function(){ setValue(this, value); });
}
}
/**函数默认属性及事件*/
$.fn.select3.defaults = {
id: null,
disabled: false,
//url:base_url+'/select/getSelectProj',
dataType:'json',
type:'GET',
//contentType:'application/json',
valueField: 'uuid',
textField: 'name',
onLoadSuccess: function(data){},// 加载成功时触发的事件
onLoadError: function(err){},
onSelect:function(row){}// 选中时触发的事件
};
/**请求数据*/
function request(target, options){
var opts = $.data(target, 'select3').options;
if (options.url){
opts = $.extend(opts, options);
}else{
return;
}
$.ajax({ url : opts.url, type : opts.type, data : opts.param, //dataType : opts.dataType, contentType : opts.contentType, success:function(data){ loadData(target, data); }, error:function(){ opts.onLoadError.apply(this, arguments); } })
};
/**加载数据*/
function loadData(target, data){
var rows = data.rows;
var opts = $.data(target, 'select3').options;
$(target).empty();
for(var i=0,j=rows.length; i<j; i++){
var item = $('<option></option>').appendTo(target);
item.attr('value', rows[i][opts.valueField]);
item.html(rows[i][opts.textField]);
}
opts.onLoadSuccess.call(target, data);// 回调成功加载事件方法
$(target).change(function(){ var itemValue = $(this).children('option:selected').val(); for(var i=0,j=rows.length; i<j; i++){ if (rows[i][opts.valueField] == itemValue){ opts.onSelect.call(target, rows[i]); return; } } }); }; /**设置值*/ function setValue(target, value){ var opts = $.data(target, 'select3').options; $(target).val(value); }; })(jQuery)
//使用
<script src="select.js"></script>
<script language="javascript">
// 初始化
$("#id").select({
url:,
onLoadSuccess:function(){
}
});
// 调用指定函数
$("#id").("reload",{参数});
</script>

浙公网安备 33010602011771号