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

String,Number,Boolean,Null,Undefined,Object

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

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

  1. var a = 'nihao';
  2. var b = 222;
  3. var c = [1,2,3];
  4. var d = new Date();
  5. var e = function(){alert('hanshu');};
  6. var f = function(){this.name = 'hanmeimei'};
  7. alert(typeof a);//string
  8. alert(typeof a == String);// false
  9. alert(typeof b);// number
  10. alert(typeof c);// object
  11. alert(typeof d);// object
  12. alert(typeof e);// function
  13. alert(typeof f);// function
  14. alert(c instanceof Array);//true
  15. alert(e instanceof Function);//true
  16. alert(c.constructor === Array);//true
  17. function A(){};
  18. function B(){};
  19. A.prototype = new B(); //A继承自B注意: constructor 在类继承时会出错
  20. var aObj = new A();
  21. alert(aObj.constructor === B);// -----------> true;
  22. alert(aObj.constructor === A);// -----------> false;
  23. //而instanceof方法不会出现该问题,对象直接继承和间接继承的都会报true:
  24. alert(aObj instanceof B); //----------------> true;
  25. alert(aObj instanceof A); //----------------> true;
  26. //解决construtor的问题通常是让对象的constructor手动指向自己:
  27. aObj.constructor = A;//将自己的类赋值给对象的constructor属性
  28. alert(aObj.constructor === B);// -----------> flase;
  29. alert(aObj.constructor === A);//true
  30. //prototype
  31. alert(Object.prototype.toString.call(a) === '[object String]');//true;
  32. alert(Object.prototype.toString.call(b) === '[object Number]');//true;
  33. alert(Object.prototype.toString.call(c) === '[object Array]');//true;
  34. alert(Object.prototype.toString.call(d) === '[object Date]');//true;
  35. alert(Object.prototype.toString.call(e) === '[object Function]');//true;
  36. alert(Object.prototype.toString.call(f) === '[object Function]');//true;

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

  1. function nowtime(){
  2. var nowDate = new Date();
  3. var year = nowDate.getFullYear();
  4. var month = nowDate.getMonth() + 1;
  5. var day = nowDate.getDate();
  6. var hours = nowDate.getHours();
  7. var minutes = nowDate.getMinutes();
  8. var second = nowDate.getSeconds();
  9. return year + '-' + month + '-' + day +' '+hours+':'+minutes +':'+second;
  10. }
  11. alert(nowtime());

3,显示隐藏dom元素

使用jquery

  1. $(function(){
  2. $("#div").show();
  3. $("#div").hide();
  4. });

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

1,直接元素中添加:

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

2,找到dom节点如:

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

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

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

5,如何控制alert中的换行

  1. 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简单的面试题的更多相关文章

  1. js简单 图片版时钟,带翻转效果

    js简单 图片版时钟,带翻转效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  2. js简单操作Cookie

    贴一段js简单操作Cookie的代码: //获取指定名称的cookie的值 function getCookie(objName) { var arrStr = document.cookie.spl ...

  3. js简单弹出层、遮罩层

    <html> <head> <title>js简单弹出层</title> <style> /*阴影边框效果*/ .box-shadow-1 ...

  4. Tourist.js – 简单灵活的操作指南和导航插件

    Tourist.js 是一个基于 Backbone 和 jQuery 开发的轻量库,帮助你在应用程序创建简单易用的操作指南和导航功能.相比网站,它更适合用于复杂的,单页网站类型的应用程序.Touris ...

  5. js简单显示和隐藏div,触发超链接,动态更改button值,setInterval()简单使用,jquery easyui弹出框简单使用 .

    js简单显示和隐藏div .<!DOCTYPE html> .<html> .<head> .<meta charset="UTF-8"& ...

  6. Gulp.js - 简单、直观的自动化项目构建工具

    Gulp.js 是一个简单.直观的构建系统.崇尚代码优于配置,使复杂的任务更好管理.通过结合 NodeJS 的数据流的能力,你能够快速构建.通过简单的 API 接口,只需几步就能搭建起自己的自动化项目 ...

  7. Node.js简单介绍并实现一个简单的Web MVC框架

    编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...

  8. JS简单入门教程

    JS简单教程 使用方法:放到任意html页面的head标签下 Test1方法弹出当前时间对话框 Test2方法for循环输出 Test3方法for(…in…)输出数组内容 <script typ ...

  9. js简单实现链式调用

    链式调用实现原理:对象中的方法执行后返回对象自身即可以实现链式操作.说白了就是每一次调用方法返回的是同一个对象才可以链式调用. js简单实现链式调用demo Object.prototype.show ...

随机推荐

  1. M1事后分析报告

    在得到M1团队成绩之后,每个团队都需要编写一个事后分析报告,对于团队在M1阶段的工作做一个总结. 请在2015年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的 ...

  2. 11.5 Daily Scrum

    请把现在当成11月5日······   Today's tasks  Tomorrow's tasks 丁辛 餐厅列表数据结构设计 餐厅列表UI设计             李承晗           ...

  3. 【Alpha】第八次Scrum meeting

    今日任务一览: 姓名 今日完成任务 所耗时间 刘乾 学习js并学会使用js读写xml文件.学习python读取xml的方式... 然后上午满课,下午从1点到10点当计组助教去沙河教了一下午+一晚上,所 ...

  4. BlogPublishTool - 博客发布工具

    BlogPublishTool - 博客发布工具 这是一个发布博客的工具.本博客使用本工具发布. 本工具源码已上传至github:https://github.com/ChildishChange/B ...

  5. 20135202闫佳歆--week3 构造一个简单的Linux系统MenuOs--学习笔记

    此为个人学习笔记存档 week 3 构造一个简单的Linux系统MenuOs 复习: 计算机有三个法宝:存储程序计算机,函数调用堆栈,中断 操作系统有两把剑: 1.中断上下文的切换,保存现场和恢复现场 ...

  6. Daily Scrum - 11/24

    今天会议时,人千提出了保存用户对每个单词背的程度的事,即如何保存每个单词上次背的时间,下次应背的时间等信息,是存放在数据库里还是存在onedrive上.目前已经联系Travis咨询数据库存储方面的事. ...

  7. [转载]Docker 完全指南

    Docker 完全指南 原作者地址: https://wdxtub.com/2017/05/01/docker-guide/  发表于 2017-05-01 |  更新于 2017-08-03 |   ...

  8. SpringBoot 3.SpringBoot 整合 MyBatis 逆向工程以及 MyBatis 通用 Mapper

    一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...

  9. Vue---父子组件之间的通信

    在vue组件通信中其中最常见通信方式就是父子组件之中的通信,而父子组件的设定方式在不同情况下又各有不同.最常见的就是父组件为控制组件子组件为视图组件.父组件传递数据给子组件使用,遇到业务逻辑操作时子组 ...

  10. 【bzoj5073】[Lydsy1710月赛]小A的咒语 后缀数组+倍增RMQ+贪心+dp

    题目描述 给出 $A$ 串和 $B$ 串,从 $A$ 串中选出至多 $x$ 个互不重合的段,使得它们按照原顺序拼接后能够得到 $B$ 串.求是否可行.多组数据. $T\le 10$ ,$|A|,|B| ...