js简单的面试题
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元素的事件处理,几种方法
1,直接元素中添加:
- <a href="###" onclick="fn();" >click</a>
2,找到dom节点如:
- var ob = document.getElementById("div");
- ob.onclick = function(){};
3,使用jquery添加静态的dom节点的事件
- $("#div").click(function(){});
- //动态生成的节点的话:
- $("#div").on("click",function(){});
- $("#div").live("click",function(){});
5,如何控制alert中的换行
- alert('nihao\nnihao');
6,判断字符串中出现次数最多的字符,统计这个次数。
7,判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母,数字,下划线,总长度为5-20
8,请编写一个javascript函数parseQueryString,他的用途是把URL参数解析为一个对象,如:
var url=“http:witmax,cn/index.php?key0=0&key1=1&key2=2”;
很多题目未完待续
js简单的面试题的更多相关文章
- js简单 图片版时钟,带翻转效果
js简单 图片版时钟,带翻转效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- js简单操作Cookie
贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...
- js简单弹出层、遮罩层
<html> <head> <title>js简单弹出层</title> <style> /*阴影边框效果*/ .box-shadow-1 ...
- Tourist.js – 简单灵活的操作指南和导航插件
Tourist.js 是一个基于 Backbone 和 jQuery 开发的轻量库,帮助你在应用程序创建简单易用的操作指南和导航功能.相比网站,它更适合用于复杂的,单页网站类型的应用程序.Touris ...
- js简单显示和隐藏div,触发超链接,动态更改button值,setInterval()简单使用,jquery easyui弹出框简单使用 .
js简单显示和隐藏div .<!DOCTYPE html> .<html> .<head> .<meta charset="UTF-8"& ...
- Gulp.js - 简单、直观的自动化项目构建工具
Gulp.js 是一个简单.直观的构建系统.崇尚代码优于配置,使复杂的任务更好管理.通过结合 NodeJS 的数据流的能力,你能够快速构建.通过简单的 API 接口,只需几步就能搭建起自己的自动化项目 ...
- Node.js简单介绍并实现一个简单的Web MVC框架
编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...
- JS简单入门教程
JS简单教程 使用方法:放到任意html页面的head标签下 Test1方法弹出当前时间对话框 Test2方法for循环输出 Test3方法for(…in…)输出数组内容 <script typ ...
- js简单实现链式调用
链式调用实现原理:对象中的方法执行后返回对象自身即可以实现链式操作.说白了就是每一次调用方法返回的是同一个对象才可以链式调用. js简单实现链式调用demo Object.prototype.show ...
随机推荐
- spring boot 2.0 源码分析(五)
在上一篇文章中我们详细分析了spring boot是如何准备上下文环境的,今天我们来看一下run函数剩余的内容.还是先把run函数贴出来: /** * Run the Spring applicati ...
- 3月web前端面试小结
说一下box-sizing的应用场景 box-sizing的属性值分为两个,border-box和content-box,其中, border-box:width=content+padding+bo ...
- Java实现模拟登录新浪微博
毕设题目要使用到新浪微博数据,所以要爬取新浪微博的数据.一般而言,新浪微博的爬虫有两种模式:新浪官方API和模拟登录新浪微博.两种方法的异同点和适用情况就无须赘述了.前辈的文章已经非常多了.写这篇文章 ...
- image 样式设置
.image-fluid:响应式大小 .image-thumbnails:照片四周会出现一个1px宽的边框 .figure:用于<figure>标签,用来标记一个图像 .figure-ca ...
- [转帖]Vim编辑器使用方法详解
Vim编辑器使用方法详解 程序员小新人学习 2018-12-16 12:26:23 转载于https://www.cnblogs.com/libaoliang/articles/6961676.htm ...
- 这两天学到的简单Linux的命令
1. 定时执行命令查看命令的接口 watch -n kubectl get pods -n kube-ops 每十秒钟查看一下命令运行接口 2. 后台方式运行 jenkins 当前窗口关闭不影响执行结 ...
- OneZero第二次站立会议(2016.3.22)
会议时间:2016年3月22日 9:33~9:57 会议成员:冉华,张敏,王巍,夏一鸣. 会议目的:汇报前一天工作,全体成员评论并修改. 会议内容:以下为会议插图 1.界面原型方面,小组成员对夏所画的 ...
- CentOS下搭建Hadoop
目录 安装配置jdk 安装Hadoop 下载解压 配置文件 启动hadoop 格式化HDFS 停止hdfs和yarn 参考:Hadoop官网文档 版本:hadoop-3.2.0 安装配置jdk 因ha ...
- Django_在单独文件中加载Django环境临时调试
创建Django环境后,每次在打印调试都需要基于项目有些麻烦. 如何在项目外的文件中加载项目环境进行便携的调试? 创建一个新的 orm.py import os if __name__ == '__m ...
- 20个令人惊叹的深度学习应用(Demo+Paper+Code)
20个令人惊叹的深度学习应用(Demo+Paper+Code) 从计算机视觉到自然语言处理,在过去的几年里,深度学习技术被应用到了数以百计的实际问题中.诸多案例也已经证明,深度学习能让工作比之前做得更 ...