html如何获取消息实体的长度,50道js面试题 XXXXX
1. javascript的typeof返回哪些数据类型
答案:string,boolean,number,undefined,function,object
2. 例举3种强制类型转换和2种隐式类型转换?
答案:强制(parseInt,parseFloat,number)隐式(== ===)
注:parseInt把值转换成整数,parseFloat把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。
16. ”==”和“===”的不同
答案:前者会自动转换类型,再判断是否相等
后者不会自动类型转换,直接去比较
3. split() join() 的区别
答案:前者是将字符串切割成数组的形式,后者是将数组转换成字符串
4. 数组方法pop() push() unshift() shift()
答案:push()尾部添加 pop()尾部删除 unshift()头部添加 shift()头部删除
5. IE和标准下有哪些兼容性的写法
答案:
var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
6. ajax请求的时候get 和post方式的区别
1. GET请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给WEB服务器。当然在Ajax请求中,这种区别对用户是不可见的
2、get传输数据容量小,不安全,post传输数据内容大,更加安全;
7. call和apply的区别
apply:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.apply(A, arguments);即A对象应用B对象的方法。
call:调用一个对象的一个方法,用另一个对象替换当前对象。例如:B.call(A, args1,args2);即A对象调用B对象的方法。
它们的共同之处:
都“可以用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象”。
它们的不同之处:
apply:最多只能有两个参数——新this对象和一个数组argArray。如果给该方法传递多个参数,则把参数都写进这个数组里面,当然,即使只有一个参数,也要写进数组里。如果argArray不是一个有效的数组或arguments对象,那么将导致一个TypeError。如果没有提供argArray和thisObj任何一个参数,那么Global对象将被用作thisObj,并且无法被传递任何参数。
call:它可以接受多个参数,第一个参数与apply一样,后面则是一串参数列表。这个方法主要用在js对象各方法相互调用的时候,使当前this实例指针保持一致,或者在特殊情况下需要改变this指针。如果没有提供thisObj参数,那么 Global 对象被用作thisObj。
实际上,apply和call的功能是一样的,只是传入的参数列表形式不同。
8. ajax请求时,如何解析json数据
答案:JSON.parse()方法把字符串转为json对象.
JSON.stringify()方法把json对象转为字符串.
10. 闭包是什么,有什么特性,对页面有什么影响
就是函数a的内部函数b,被函数a外部的一个变量引用的时候,就创建了一个闭包
闭包的特性:
①.封闭性:外界无法访问闭包内部的数据,如果在闭包内声明变量,外界是无法访问的,除非闭包主动向外界提供访问接口;
②.持久性:一般的函数,调用完毕之后,系统自动注销函数,而对于闭包来说,在外部函数被调用之后,闭包结构依然保存在
系统中,闭包中的数据依然存在,从而实现对数据的持久使用。
优点:
① 减少全局变量。
② 减少传递函数的参数量
③ 封装;
缺点:
使用闭包会占有内存资源,过多的使用闭包会导致内存溢出等.
function a(){
var i=0;
function b(){
alert(++i);
}
return b;
}
var c = a();
c();
11. 如何阻止事件冒泡
答案:ie:阻止冒泡ev.cancelBubble = true;非IE ev.stopPropagation();
12. 如何阻止默认事件
答案:(1)return false;(2) ev.preventDefault();
13. 添加 删除 替换 插入到某个接点的方法
1)创建新节点
createElement() //创建一个具体的元素
createTextNode() //创建一个文本节点
2)添加、移除、替换、插入
appendChild() //添加
removeChild() //移除
replaceChild() //替换
insertBefore() //插入
3)查找
getElementsByTagName() //通过标签名称
getElementsByName() //通过元素的Name属性的值
getElementById() //通过元素Id,唯一性
22. 看下列代码,输出什么?解释原因。
var a = null;
alert(typeof a);
答案:object
解释:null是一个只有一个值的数据类型,这个值就是null。表示一个空指针对象,所以用typeof检测会返回”object”。
23. 判断字符串以字母开头,后面可以是数字,下划线,字母,长度为6-30
var reg=/^[a-zA-Z]w{5,29}$/;
31. 希望获取到页面中所有的checkbox怎么做?(不使用第三方框架)
var inputs = document.getElementsByTagName("input");//获取所有的input标签对象
var checkboxArray = [];//初始化空数组,用来存放checkbox对象。
for(var i=0;i
32. 写一个function,清除字符串前后的空格。(兼容所有浏览器)
String.prototype.trim= function(){
return this.replace(/^s+/,"").replace(/s+$/,"");
}
42. js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式什么?
alert
confirm
prompt
45. 可视区的大小:
(1)innerXXX(不兼容ie)
window.innerHeight 可视区高度,包含滚动条宽度
window.innerWidth 可视区宽度,包含滚动条宽度
(2)document.documentElement.clientXXX(兼容ie)
document.documentElement.clientWidth可视区宽度,不包含滚动条宽度
document.documentElement.clientHeight可视区高度,不包含滚动条宽度
46. 节点的种类有几种,分别是什么?
(1)元素节点:nodeType ===1;
(2)文本节点:nodeType ===3;
(3)属性节点:nodeType ===2;
47. innerHTML和outerHTML的区别
innerHTML(元素内包含的内容)
outerHTML(自己以及元素内的内容)
48. offsetWidth offsetHeight和clientWidth clientHeight的区别
(1)offsetWidth (content宽度+padding宽度+border宽度)
(2)offsetHeight(content高度+padding高度+border高度)
(3)clientWidth(content宽度+padding宽度)
(4)clientHeight(content高度+padding高度)
50. 冒泡排序算法
var array = [5, 4, 3, 2, 1];
var temp = 0;
for (var i = 0; i array[j + 1]){
temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
}
}
原文https://www.toutiao.com/a6626187995441529358/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1542787574&app=news_article&utm_source=weixin&iid=50616827333&utm_medium=toutiao_ios&group_id=6626187995441529358
html如何获取消息实体的长度,50道js面试题 XXXXX相关推荐
- python面试题及答案-50道Python面试题集锦(附答案)
原标题:50道Python面试题集锦(附答案) Python是目前编程领域最受欢迎的语言.在本文中,我将总结Python面试中最常见的50个问题.每道题都提供参考答案,希望能够帮助你在2019年求职面 ...
- 50道MySQL面试题,经典~
一.测试表数据 学生表:student [学号,学生姓名,出生年月,性别] 成绩表:score [学号,课程号,成绩] 课程表:course [课程号,课程名称,教师号] 教师表:teacher [教 ...
- 50 道网络面试题及答案(下)
欢迎加入JackTian技术交流群! CSDN海量资源免费下载! 1.交换机是如何转发数据包的 ? 交换机通过学习数据帧中的源 MAC 地址生成交换机的 MAC 地址表,交换机查看数据帧的目标. MA ...
- 50道MySQL面试题,掌握之后你将获得无上法力,一发不可收拾!
MySQL面试题50道,精彩集锦! Mysql中有哪几种锁? 1.表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 2.行级锁:开销大,加锁慢:会出现死锁:锁定粒度 ...
- 50 道网络面试题及答案(上)
欢迎加入JackTian技术交流群! CSDN海量资源免费下载! 1.标准网络线的颜色排列顺序 568B 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕 568A 绿白 绿 橙白 蓝 蓝白 橙 棕白 棕 直通 ...
- 收藏!这 50 道操作系统面试题,真牛!
操作系统简介篇 解释一下什么是操作系统 操作系统是管理硬件和软件的一种应用程序.操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件.它为计算机硬件和软件提供了一种中 ...
- 每天50道CISP练习试题
1.信息安全应急响应计划的制定是一个周而复始的.持续改进的过程,以下哪个阶段不在其中?[1分]D. D.**应急响应计划的废弃与存档** ** ** 2./etc/passwd文件是UNIX/Linu ...
- Python面试基础篇 - 50道经典面试题(附答案及多种解答)
大家好,我是辣条哥 高考刚结束不久,网上各种招工的,工地招搬砖的都开始活跃了,这时候我要是不出来活跃一波感觉有点不合时宜了. 于是特意整理了这一份Python面试题的基础篇,进阶的先不说我能不能整理出 ...
- 50道Python面试题集锦【附答案】
Python是目前编程领域最受欢迎的语言. 在本文中,我将总结Python面试中最常见的50个问题.(会比较干) 每道题都提供参考答案, 希望能够帮助你在今年求职面试中脱颖而出, 找到一份高薪工作. ...
最新文章
- 学习:erlang的term反序列化,string转换为term
- ABAP入门培训8讲
- 自定义异常时exception is never thrown in the corresponding try block和unhandled exception
- PLSQL的UTL_FILE使用例子
- 清理linux 服务器的命令行,使用Linux上的Magic SysRq键修复冻结的X服务器,清理重新启动并运行其他低级命令 | MOS86...
- 为什么python的命名不能以数字开头_python变量不能以数字打头
- 计算机应用考试上机试,电大计算机应用考试机试实操ABCD.docx
- 软件开发报价模板_模板类app开发价格是多少钱?
- 《Netty权威指南》(二)NIO 入门
- RAC安装时,报The specified nodes are not clusterable 的解决方法
- iOS_SN_深浅拷贝( 百度的)_转载
- crtmpserver 在VS2010下的build
- find_calib_object算子说明
- 事件图谱的构建、推理与应用
- 北大药学院院长被指涉嫌学术造假,同组院士做出回应
- AfterEffects CS6安装插件教程
- Navicat for mysql 在WIN10下导入SQL不成功解决办法
- RFID在固定资产盘点系统中的应用
- RFID不同频率下的应用场景及优缺点
- R语言将文件写入CSV,并读取