`
xiaomiya
  • 浏览: 131423 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

js简单的面试题

阅读更多

0,截取字符串abcdefg中的efg

var str = 'abcdefg';
alert(str.substr(4,3));

  

1,js有哪些数据类型,数据类型的判断函数?

String,Number,Boolean,Null,Undefined,Object

判断函数有:typeof,instanceof,constructor,prototype

接下来我们一一对这些进行举例子。

var a = 'nihao';
var b = 222;
var c = [1,2,3];
var d = new Date();
var e = function(){alert('hanshu');};
var f = function(){this.name = 'hanmeimei'};
alert(typeof a);//string
alert(typeof a == String);// false
alert(typeof b);// number
alert(typeof c);// object
alert(typeof d);// object
alert(typeof e);// function
alert(typeof f);// function
alert(c instanceof Array);//true
alert(e instanceof Function);//true
alert(c.constructor === Array);//true
function A(){};
function B(){};
A.prototype = new B(); //A继承自B注意: constructor 在类继承时会出错
var aObj = new A();
alert(aObj.constructor === B);// -----------> true;
alert(aObj.constructor === A);// -----------> false;
//而instanceof方法不会出现该问题,对象直接继承和间接继承的都会报true:
alert(aObj instanceof B); //----------------> true;
alert(aObj instanceof A); //----------------> true;
//解决construtor的问题通常是让对象的constructor手动指向自己:
aObj.constructor = A;//将自己的类赋值给对象的constructor属性
alert(aObj.constructor === B);// -----------> flase;
alert(aObj.constructor === A);//true
//prototype
alert(Object.prototype.toString.call(a) === '[object String]');//true;
alert(Object.prototype.toString.call(b) === '[object Number]');//true;
alert(Object.prototype.toString.call(c) === '[object Array]');//true;
alert(Object.prototype.toString.call(d) === '[object Date]');//true;
alert(Object.prototype.toString.call(e) === '[object Function]');//true;
alert(Object.prototype.toString.call(f) === '[object Function]');//true;

 

 

2,编写一个js函数,时时显示当前时间,格式:“年-月-日 时:分:秒”

function nowtime(){
var nowDate = new Date();
var year = nowDate.getFullYear();
var month = nowDate.getMonth() + 1;
var day = nowDate.getDate();
var hours = nowDate.getHours();
var minutes = nowDate.getMinutes();
var second = nowDate.getSeconds();
return year + '-' + month + '-' + day +' '+hours+':'+minutes +':'+second; 
}
alert(nowtime());
 

 

 

3,显示隐藏dom元素

使用jquery

$(function(){
$("#div").show();
$("#div").hide();
});

 

4,如果添加HTML元素的事件处理,几种方法

a,直接元素中添加:

<a href="###" onclick="fn();" >click</a>

 

b,找到dom节点如:

var ob = document.getElementById("div");
ob.onclick = function(){};

 

c,使用jquery添加静态的dom节点的事件

$("#div").click(function(){});
//动态生成的节点的话:
$("#div").on("click",function(){});
$("#div").live("click",function(){});

 

5,如何控制alert中的换行

alert('nihao\nnihao');或者
alert('nihao'+'\n'+'nihao');

 

6,判断字符串中出现次数最多的字符,统计这个次数。

//判断一个字符串中出现次数最多的字符,统计这个次数
//方法一
var str="aabbb";
var obj={};
for(var i=0,k;i<str.length;i++){
	k=str.charAt(i);//charAt() 方法可返回指定位置的字符。
	if(obj[k]){
		obj[k]++;
	}else{
		obj[k]=1;
	}
}
var m=0;
var i=null;
for(var k in obj){
	if(obj[k]>m){
		m=obj[k];
		i=k;
	}
}
alert(i+':'+m);
//方法二
var str ="aaaaaaaaaaabbb";
for(var i=0,len=0,temp="";i<str.length; i++){
	var s=str.substr(i,1);//substr()方法可在字符串中抽取从 start 下标开始的指定数目的字符。
	var tt=str.split(s);//split()方法用于把一个字符串分割成字符串数组。
	if(tt.length>len){
		len=tt.length;
		temp=s+"出现最多次数为"+len;
	}
}
alert(temp);

 

 

7,判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母,数字,下划线,总长度为5-20

有两种方案,一种是传统的遍历每个字符来判断,这种会比较麻烦。另一种是用正则来判断比较方便。

下面是正则的例子

//判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20
var str = 'abcdefg';
var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/;
alert(reg.test(str));

 

8,写一个字符串转成驼峰的方法:

如:border-bottom-color  》  borderBottomColor

这个也是有两种方法,一种是传统的和一种正则表达式

var str = "border-bottom-color";

function test(str){
	var arr = str.split("-");//用split()函数来进行分割字符串arr里面包括【border,bottom,color】
	for(var i=1;i<arr.length;i++){//从数组的第二项开始循环,charAt(0)找到第一个字母。substring(1)截掉第一个字母。
		arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);//循环之后把得到的字符赋给arr。【border,Bottom, Color】
		alert(arr[i]);
	}
	return arr.join("");//用join方法来拼接,空拼接。就变成borderBottomColor

}
alert(test(str));

 

 

var str = "border-bottom-color";
function test(str){
	var re = /-(\w)/g;//通过正则找到-b  -c。默认的是匹配一次,所以要用g来全局匹配。\w指的字符。找一个-找一个字符。replace替换就是B替换-b   C替换-c。 $0代表正则,$1代表指向
	return str.replace(re, function($0,$1){
		return $1.toUpperCase();
	});
}
alert(test(str));

 

 

9,请编写一个javascript函数parseQueryString,他的用途是把URL参数解析为一个对象,如:

var url=“http:witmax,cn/index.php?key0=0&key1=1&key2=2”;

 

function parseQueryString(url) {
    var json = {};
    var arr = url.substr(url.indexOf('?') + 1,url.length).split('&');
    arr.forEach(function(item) {
        var tmp = item.split('=');
        json[tmp[0]] = tmp[1];
    })
    return json;
}
//或者
function parseQueryString(url)
{
	var obj={};
	var keyvalue=[];
	var key="",value=""; 
	var paraString=url.substring(url.indexOf("?")+1,url.length).split("&");
	for(var i in paraString){
		keyvalue=paraString[i].split("=");
		key=keyvalue[0];
		value=keyvalue[1];
		obj[key]=value; 
	} 
	return obj;
}

var url = "http://witmax.cn/index.php?key0=0&key1=1&key2=2";
var json = parseQueryString(url);
console.log(json);

 

很多题目未完待续

 

4
4
分享到:
评论
5 楼 xiaomiya 2015-03-31  
hankshanshan 写道
确确的说隐藏包括保留原dom的空间位置与不保留,visibility:hidden与display:none,toggle适用于display。当然这已经是使用CSS在控制了 obj.css("display","none")。


  
4 楼 hankshanshan 2015-03-31  
确确的说隐藏包括保留原dom的空间位置与不保留,visibility:hidden与display:none,toggle适用于display。当然这已经是使用CSS在控制了 obj.css("display","none")。
3 楼 勇者无敌 2015-03-31  
      
2 楼 xiaomiya 2015-03-31  
roccloudy 写道
第三题,显示隐藏dom元素,个人感觉
$(function(){
        $("div").toggle();
});

  
1 楼 roccloudy 2015-03-31  
第三题,显示隐藏dom元素,个人感觉
$(function(){
        $("div").toggle();
});
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    js面试题面试题面试题

    根据给定的文件信息,以下是对每一道JS面试题的知识点进行详细解析: ### 第一题:编写一个方法求一个字符串的字节长度 #### 解析: 在这道题目中,我们需要编写一个函数来计算字符串的字节长度。这里的重点在于...

    js面试题下载

    面试题集合通常包含各种问题,旨在考察候选人在JS基础、jQuery库以及Ajax技术方面的理解和应用能力。现在,让我们深入探讨这些关键知识点。 1. **JavaScript基础**: - 变量与数据类型:了解`var`, `let`, `const`...

    前端面试题库,包含Vue面试题React面试题JS面试题HTTP面试题

    3. **JS面试题**: JavaScript是前端开发的基础,面试中会涉及到语言特性、数据类型、作用域、闭包、原型链、异步编程(回调、Promise、async/await)、事件循环、错误处理等。 4. **HTTP面试题**: 理解HTTP协议...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ Java面试题41.jQuery中Ajax和原生js实现Ajax的关系.mp4 │ Java面试题42.简单说一下html5.mp4 │ Java面试题43.简单说一下css3.mp4 │ Java面试题44.bootstrap的是什么.mp4 │ Java面试题45.什么是框架.mp4 │ ...

    前端面试题大全(40个VUE3.0面试题PDF、CSS、JS、REACT、全栈面经、小程序、性能优化)千道面试题,送前端简历模板

    覆盖范围:(40个VUE3.0面试题PDF、CSS面试题、JS面试题、REACT面试题 全栈面试题、小程序面试题、性能优化) # 前端面试题 非常重要 难度都是根据自己学习情况掌握的。 - 不能只靠背面试题 要去理解 面试题背后的...

    100道Vue.js 面试题(含答案).pdf

    Vue.js的面试题涉及到多个方面,包括路由管理、状态管理、组件通信、指令使用等,这些都是Vue.js应用开发的核心知识点。 首先,Vue.js中关于路由管理的面试题,可能会涉及路由守卫的使用。比如beforeEach和after...

    vue.js面试题大全

    ### Vue.js 面试题知识点详解 #### 一、MVVM 概念与 Vue.js 架构 **1. 对于 MVVM 的理解** MVVM(Model-View-ViewModel)是一种软件架构设计模式,主要应用于简化用户界面的开发。在 Vue.js 中,这种模式得到了...

    2022 vue.js面试题大全 PDF 下载.pdf

    Vue.js面试题大全 Vue.js是一款流行的前端框架,具有强大的数据绑定能力和灵活的组件化开发模式。以下是Vue.js面试题大全的摘要信息: 1. Vue的基本原理 当一个Vue实例创建时,Vue会遍历data中的属性,并使用...

    PHP程序员常用简单面试题

    ### PHP程序员常用简单面试题详解 #### 一、用PHP打印出前一天的时间,格式是2017-5-29 22:21:21 **知识点**: PHP日期时间处理 - **实现方法**: ```php $yesterday = date('Y-m-d H:i:s', strtotime('-1 day'));...

    js基础知识及面试题.pdf

    总之,JS基础知识广泛且深入,面试题往往围绕这些核心概念出题。在准备面试的过程中,建议应聘者不仅要牢记概念,更要多写代码,多思考如何将理论应用于实际开发中。这不仅有助于面试,更是提高自身技能的必要过程。

    前端面试题汇总.rar

    这份"前端面试题汇总"包含了许多关键领域的知识点,从基础到高级,涵盖了前端开发者必须熟悉的各项技能。 首先,HTML(超文本标记语言)是构建网页的基础,它定义了页面的结构。在面试中,可能会被问到关于HTML语义...

    前端大厂最新面试题-JS面试题.docx

    前端大厂最新面试题-JS面试题 (JS相关) 1. 数组转成字符串的方式: 在 JavaScript 中,数组可以通过两种方式转换为字符串: (1)使用 toString() 方法:例如 `var arr = [1,2,3]; arr.toString() == '1,2,3';` ...

    前端面试题:包括js面试题、vue面试题、react面试题、性能优化

    Vue面试题通常涵盖Vue的核心概念,如组件系统、响应式原理、指令、过滤器、生命周期钩子函数以及Vue Router和Vuex等。Vue.js是一个流行的前端框架,它提供了声明式渲染,使得数据绑定和事件处理变得简单。Vue的响应...

    2021必备React.js 面试题整理(自己使用的资料).pdf

    "React.js 面试题整理" React.js 是一个流行的前端框架,它提供了一种declarative编程模型,可以帮助开发者构建快速、可维护的用户界面。以下是React.js相关知识点的总结: 1. React 事件机制 React并不是将click...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题41.jQuery中Ajax和原生js实现Ajax的关系 Java面试题42.简单说一下html5 Java面试题43.简单说一下css3 Java面试题44.bootstrap的是什么 Java面试题45.什么是框架 Java面试题46.简单介绍一下MVC模式 Java...

    javascript面试题

    ### JavaScript 面试知识点详解 #### 一、HTML 和 CSS **1、你做的页面在哪些浏览器测试过?这些浏览器的内核分别是什么?** - **Chrome**: 使用 Blink 渲染引擎。 - **Firefox**: 使用 Gecko 渲染引擎。 - **...

    JavaScript最新面试题2021年,常见面试题及答案汇总.md

    ### JavaScript 最新面试题2023年,常见面试题及答案汇总 #### 1、Node.js的应用场景 - **特点:** - **运行环境:** Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 - **依赖:** 依赖 Chrome V8 ...

    小程序常见面试题_20题.pdf_前端面试题

    微信小程序面试题知识点总结 微信小程序基础知识: 1. 微信小程序有三个必备文件:app.json、app.js、app.wxss。app.json 是整个小程序的全局配置文件,app.js 是小程序的入口文件,app.wxss 是小程序的全局样式...

    2021Vue面试题笔记.pdf

    Vue面试题知识点总结 以下是根据提供的文件信息生成的知识点总结: 1. Vue 基础 * Vue 实例创建时,Vue 会遍历 data 中的属性,使用 Object.defineProperty(Vue 3.0 使用 proxy)将它们转换为 getter/setter,...

Global site tag (gtag.js) - Google Analytics