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);