前端—每天5道面试题(十四)
Posted 每天都在慢慢进步的王同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端—每天5道面试题(十四)相关的知识,希望对你有一定的参考价值。
前端—每天5道面试题(十四)
每天进步1% 不多 就1%
一、javascript 是一门什么样的语言,它有哪些特点?
javaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 html网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。
JavaScript基本特点:
1.是一种解释性脚本语言(代码不进行预编译)。
2.主要用来向 HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3.可以直接嵌入 HTML 页面,但写成单独的 js 文件有利于结构和行为的分离。
4.跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如 Windows、Linux、Mac、
android、ios 等)
二、用原生 js 实现一个倒计时项目
左侧输入为大于 0 的整数,单位为毫秒,右侧显示倒计时的时间,间隔是 1000ms,注意小于1000ms 的时间的处理。中间是开始的按钮可以重复点击,重复点击后则从新计算
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input type="text" id="leftTime" placeholder="请输入 0 以上的整数">
<button id="btn">开始</button>
<input type="text" id="rightTime" placeholder="开始倒计时">
<script>
var btn = document.getElementById("btn");
var leftTime = document.getElementById("leftTime");
var rightTime = document.getElementById("rightTime");
btn.onclick = function() {
if (leftTime.value > 0) {
rightTime.value = leftTime.value
} else {
rightTime.value = 1
}
var cle = setInterval(function() {
rightTime.value--;
if (rightTime.value == 0) {
window.clearInterval(cle)
}
}, 1000)
}
</script>
</body>
</html>
三、BOM 之常用 API ?
- navigator:window 中封装浏览器属性和配置信息的对象
- cookieEnabled:识别浏览器是否启用 cookie,返回值 true/false
- userAgent:保存了浏览器名称和版本的字符串
- plugins:保存浏览器中所有插件信息的集合,每个 plugin 对象的 name 属性保存了插件的名称
- screen:保存显示屏信息的对象
- history:保存窗口的历史记录栈
- location:指代当前窗口正在访问的 url 地址对象
- location.href:保存了当前窗口正在访问的 url 地址,设置 href 属性为新 url,会在当前窗口打开新 url
- location.search():获取 url 上面?后面的参数
- location.reload():刷新当前页面
- location.assign(url):设置当前窗口的新 url
- location.reload(true/false):true —— 无论是否更改,都获取更新;false —— 被修改的页面,重新获 取,未被修改的页面,从缓冲获取
- 定时器:让程序按指定时间间隔,自动执行任务,任务是所有定时器的核心
四、jquery中attr和prop的区别是什么?
(一)、attr和prop区别?
- attr 是从页面搜索获得元素值,所以页面必须明确定义元素才能获取值,相对来说较慢。
- prop是从属性对象中取值,属性对象中有多少属性,就能获取多少值,不需要在页面中显示定义。
(二)、attr和prop怎么选择?
-
对于 HTML 元素我们自己自定义的 DOM 属性,在处理时,使用 attr 方法。
-
对于 HTML 元素本身就带有的固有属性,在处理时,使用 prop 方法。
上面的描述也许有点模糊,举几个例子说明一下
<a href="http://www.baidu.com" target="_self" class="btn">百度</a>
这个例子里<a>
元素的 DOM 属性有“href、target 和 class",这些属性就是<a>
元素本身就带有的属性,也是W3C 标准里就包含有这几个属性,或者说在 IDE 里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用 prop 方法。
<a href="#" id="link1" action="delete">删除</a>
这个例子里<a>
元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的,<a>
元素本身是没有这个属性的。这种就是自定义的DOM属性。处理这些属性时,建议使attr方法。使用prop方法取值和设置属性值时,都会返回undefined值。
<input id="chke1" type="checkbox" />记住密码
<input id="chke2" type="checkbox" checked="checked" />记住密码
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
$("#chke1").prop("checked");// false
$("#chke2").prop("checked");// true
$("#chke1").attr("checked"); //undefined
$("#chke2").attr("checked"); //"checked"
五、null 和 undefined 的区别?
-
null 是一个表示”无”的对象,转为数值时为 0;undefined 是一个表示”无”的原始值,转为数值时为 NaN。
-
当声明的变量还未被初始化时,变量的默认值为 undefined。
-
null 用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。
-
undefined 表示”缺少值”,就是此处应该有一个值,但是还没有定义。
以上是关于前端—每天5道面试题(十四)的主要内容,如果未能解决你的问题,请参考以下文章