12
1-var str = “hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys”将字符串中出现次数最多的字母弹框输出
var str = 'hgDzGHjhcxghvcgxzhjzcgjhxzgcjhgsduyfuys'
var arr=str.split(""); // 转换为数组
arr=arr.sort(); // 排序
var n=1; // 记录出现次数
var arr1=[];
var maxmore="";
for(var i=0;i<arr.length;i++){
if(arr[i]===arr[i+1]){
maxmore=arr[i];
n++;
}
else{
arr1[n]=maxmore;
n=1
}
}
alert('最多的字母'+maxmore);
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">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
html,body{
margin: 0px;
width: 100%;
}
#left,#right{
width: 200px;
height: 200px;
background-color: rgb(36, 219, 112);
position: absolute;
}
#left{
left: 0;
top:0;
}
#right{
right: 0;
top:0;
}
#center{
margin: 0 200px;
background-color: rgb(243, 55, 55);
height: 200px;
}
</style>
</head>
<body>
<div id="left">左边</div>
<div id="center">中间</div>
<div id="right">右边</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号