web前端_02

1.请输出以下js代码结果;

var b,a=null;
console.log(a==b);//true;
console.log(a===b);//false;

2.请写出控制台打印的信息;

function fun(n,o){
	console.log(o);
	return {
	fun:function(m){
	return fun(m,n);
	}
	}
}
var a=fun(0).fun(1);
a.fun(2);
a.fun(3);

在这里插入图片描述
上面的 a 得到的就是这样一个对象=>
在这里插入图片描述
5.从1000万个数中找出最大的100个数,请简述你的思路;


7…(任意语言实现) 一列数的规则如下:1 1 2 3 5 8 13 21 34 … 求第30位数是多少,用递归算法实现;

function fb(n){
	if(n<3){
	return 1;
	}else{
	return arguments.callee(n-1)+arguments.callee(n-2);
	}
}
console.log(fb(30));

8.输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使他们的和正好是输入的那个数字.
例如,

int[] array={-5,-1,0,1,7,9,14,22,23,31,50,62,68,73,82};
		intx=31;

由于 9 + 22 =31 ,所以需要找出9和22,请编程实现,尽量考虑代码效率;

var arr=[-5,-1,0,1,7,9,14,22,23,31,50,62,68,73,82];

for(var i=0,j=arr.length-1;i<j ;){
	if(arr[i]+arr[j]>31){
	j--;
	}else if(arr[i]+arr[j]<31){
	i++;
	}else{
	console.log(`${arr[i]}+${arr[j]}`);
	i++;j--;
	}
}

5.编写一个方法,求一个字符串的字节长度;

var str="hello world ! 剑指苍穹!";
function getLength(str){
	var num=str.length;
	for(var i=0; i<str.length;i++){
	if(str.charCodeAt(i)>255){
	num+=2;
	}
	}return num;
}
console.log(getLength(str));

8.javascript中如何检测一个变量是String类型?

function checkStr(str){
var type;
if(typeof str == "string" ){
type="string";
}
}
checkStr("lilei")
function checkStr(str){
	var type;
	if(str.constructor == String){
	type="string";
	}console.log(type);
}
checkStr("lilei");
function checkStr(str){
	var type;
	if(Object.prototype.toString.call(str)==="[object String]"){
	type="string";
	}console.log(type);
}
checkStr("lilei");

7.如何显示/隐藏一个DOM元素;
css:
display:block;/display:none;
visibility:visible;/visibility:hidden;
opacity:1;/opacity:0;

jquery:

$(elem).hide()
$(elem).show()

9.javascript中如何对一个对象进行深克隆?
浅克隆:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。
深克隆:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址

var lilei={
	name:"LiLei",
	age:25,
	fav:["html","css","js"],
	address:{
	prov:"shan'xi",
	city:"xi'an"
	}
}
function clone(oldObj){
	if(Array.isArray(oldObj)){
	var newObj=[];
	}else{
	var newObj={};
	}

	for(var key in oldObj){
		if(typeof oldObj[key] !== "object"){
		newObj[key]=oldObj[key];
		}else{
		//如果是对象,再对里面的内容进行克隆
		newObj[key]=clone(oldObj[key]);
		}
	}return newObj;
}
var lilei2=clone(lilei);
console.log(lilei2);
console.log(lilei2.address.prov="beijing");
console.log(lilei.address.prov);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值