js代码例题,js程序题
更新:2022-11-19 07:38
本文目录一览:
js基础面试题131-160道题目
131.用原生 JavaScript 的实现过什么功能吗?
参考答案: 轮播图、手风琴、放大镜、3D动画效果等,切记,所答的一定要知道实现原理!,不知道还不如不说!
132.javascript 代码中的"use strict"; 是什么意思 ? 使用它区别是什么?
参考答案: 意思是使用严格模式,使用严格模式,一些不规范的语法将不再支持。
133.简述创建函数的几种方式
参考答案:
134.window.location.search() 返回的是什么?
参考答案: 查询(参数)部分。除了给动态语言赋值以外,我们同样可以给静态页面,并使用 javascript 来获得相应的参数值。返回值:?ver=1.0&id=timlq
,也就是问号后面的!
135.window.location.hash 返回的是什么?
参考答案: 锚点,返回值:#love
。
136.window.location.reload() 作用?
参考答案: 刷新当前页面。
137.为什么不能定义 1px 左右的 p 容器?
参考答案: IE6 下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden
、zoom:0.08
、line-height:1px
。
138.BOM 对象有哪些,列举 window 对象?
参考答案:
139.简述 readonly 与 disabled 的区别
参考答案:
140.为什么扩展 javascript 内置对象不是好的做法?
参考答案:
141.什么是三元表达式?“三元”表示什么意思?
参考答案: 三元如名字表示的三元运算符需要三个操作数。
语法是:条件 ? 结果1 : 结果2;
。这里你把条件写在问号(?)的前面,后面跟着用冒号(:)分隔的结果1和结果2。满足条件时结果1,否则结果2。
142.我们给一个 dom 同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获
参考答案: 所有事件的顺序是:其他元素捕获阶段事件 - 本元素代码顺序事件 - 其他元素冒泡阶段事件。
144.简述一下 Handlebars 的基本用法?
参考答案: 没有用过的话说出它是干什么的即可。
143.简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的?
参考答案:
145.前端 templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?
参考答案:
146.知道什么是 webkit 么? 知道怎么用浏览器的各种工具来调试和 debug 代码么?
参考答案: Webkit 是浏览器引擎,包括 html 渲染和 js 解析功能,手机浏览器的主流内核,与之相对应的引擎有 Gecko(Mozilla Firefox 等使用)和 Trident(也称 MSHTML,IE 使用)。对于浏览器的调试工具要熟练使用,主要是页面结构分析,后台请求信息查看,js 调试工具使用,熟练使用这些工具可以快速提高解决问题的效率。
147.如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
参考答案: 了解 BDD 行为驱动开发与 TDD 测试驱动开发已经单元测试相关概念。
148.JavaScript 的循环语句有哪些?
参考答案: while、for、do while、forEach。
149.作用域-编译期执行期以及全局局部作用域问题
参考答案: js 执行主要的两个阶段:预解析和执行期。
150.如何添加 html 元素的事件,有几种方法?请列举
参考答案: 直接在标签里添加;在元素上添加、使用事件注册函数添加。
151.列举浏览器对象模型 BOM 里常用的至少 4 个对象,并列举 window 对象的常用方法至少 5 个
参考答案: 对象:Window、document、location、screen、history、navigator 方法:alert()、confirm()、prompt()、open()、close()
152.事件绑定的方式
参考答案:
153.事件循环
参考答案: 事件循环是一个单线程循环,用于监视调用堆栈并检查是否有工作即将在任务队列中完成。如果调用堆栈为空并且任务队列中有回调函数,则将回调函数出队并推送到调用堆栈中执行。
154.事件模型
参考答案:
155.如何自定义事件
参考答案:
- 原生提供了 3 个方法实现自定义事件
- createEvent,设置事件类型,是 html 事件还是 鼠标事件
- initEvent 初始化事件,事件名称,是否允许冒泡,是否阻止自定义事件
- dispatchEvent 触发事件
156.target 和 currentTarget 区别
参考答案:
157.prototype 和__proto__的关系是什么
参考答案: 所有的对象都拥有__proto__属性,它指向对象构造函数的 prototype 属性。 所有的函数都同时拥有__proto__和 prototype 属性。函数的__proto__指向自己的函数实现。函数的 prototype 是一个对象,所以函数的 prototype 也有__proto__属性,指向 Object.prototype。 Object.prototype.__proto__指向 null。
158.什么是原型属性?
参考答案: 从构造函数的prototype属性出发找到原型,这时候就把原型称之为构造函数的原型属性。
159.什么是原型对象?
参考答案: 从实例的__proto__出发,找到原型,这时候就把原型称之为实例的原型对象。
160.使用 let、var 和 const 创建变量有什么区别
参考答案: let 和 const 的区别在于:let 允许多次赋值,而 const 只允许一次。
js代码 题目如下
搜索关键字焦点图,然后每个切换的元素就是各个公司的的广告语,广告语给一个超链接,目标就是改公司的主页。
JS作业题 ,附代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>无标题文档</title>
<style>
#group1 {
width: 350px;
padding-left: 20px;
line-height: 30px;
}
.spanCss {
font-size: 28px;
}
</style>
<script>
var ck = function(cc) {
var cs = group1.querySelectorAll("input[type=checkbox]");
var num = 0;
for (var i = 0; i < cs.length; i++) {
if (cs[i].checked) {
num++;
}
}
cc.innerHTML = cs.length + "个选项,选中" + num + "个";
}
</script>
</head>
<body>
<p>大学学习目的:</p>
<fieldset id="group1">
<legend>
<label><input type="checkbox" />学习知识,提高技能</label><br />
<label><input type="checkbox" />培养终生学习能力</label><br />
<label><input type="checkbox" />促进心智成长</label>,增强表达、沟通、协作能力<br />
<label><input type="checkbox" />构建人脉</label><br />
</legend>
</fieldset>
<p>要求实现的功能:</p>
<p><span class="spanCss" onclick="ck(this)">单击这里显示:?个选择项,选中?个</span></p>
</body>
</html>
js基础面试题71-80道题目
71.IE 和标准下有哪些兼容性的写法
参考答案:
72.变量提升
参考答案: A、js 代码执行的过程 B、变量提升发生的环境:发生在代码所处的当前作用域。
73.如何阻止冒泡与默认行为
参考答案: 解析: 当需要阻止冒泡行为时,可以使用 当需要阻止默认行为时,可以使用
74.js 中 this 闭包 作用域
参考答案: this:指向调用上下文 闭包:定义一个函数就开辟了一个局部作用域,整个 js 执行环境有一个全局作用域 作用域:一个函数可以访问其他函数中的变量(闭包是一个受保护的变量空间)
75.javascript 的本地对象,内置对象和宿主对象
参考答案:
- 本地对象 ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象"。简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。它们包括:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
- 内置对象 JS中内置了17个对象,常用的是Array对象、Date对象、正则表达式对象、string对象、Global对象
- 宿主对象 由ECMAScript实现的宿主环境提供的对象,可以理解为:浏览器提供的对象。所有的BOM和DOM都是宿主对象。
76.javascript 的同源策略
参考答案: 一段脚本只能读取来自于同一来源的窗口和文档的属性
77.事件冒泡与事件捕获
参考答案: 事件冒泡:由最具体的元素(目标元素)向外传播到最不具体的元素 事件捕获:由最不确定的元素到目标元素
78.foo = foo||bar ,这行代码是什么意思?为什么要这样写?
参考答案: 这种写法称为短路表达式
79.复杂数据类型如何转变为字符串
参考答案:
80.javascript 中 this 的指向问题
参考答案: 解析: 全局环境下,this 始终指向全局对象(window),无论是否严格模式;
js基础面试题1-10道
1.document load 和 document ready 的区别
参考答案: 文档解析过程中,ready在加载图片等外部资源前触发,load在之后触发。如果页面中要是没有图片之类的媒体文件的话ready与load是差不多的,但是页面中有文件就不一样了,所以还是推荐大家在工作中用ready。
2.JavaScript 中如何检测一个变量是一个 String 类型?
参考答案: 三种方法(typeof、constructor、Object.prototype.toString.call())
3.请用 js 去除字符串空格?
参考答案: replace 正则匹配方法、str.trim()方法、JQ 方法:$.trim(str)方法
4.js 是一门怎样的语言,它有什么特点
参考答案:
- 脚本语言。JavaScript 是一种解释型的脚本语言, C、C++等语言先编译后执行, 而 JavaScript 是在程序的运行过程中逐行进行解释。
- 基于对象。JavaScript 是一种基于对象的脚本语言, 它不仅可以创建对象, 也能使用现有的对象。
- 简单。JavaScript 语言中采用的是弱类型的变量类型, 对使用的数据类型未做出严格的要求, 是基于 Java 基本语句和控制的脚本语言, 其设计简单紧凑。
- 动态性。JavaScript 是一种采用事件驱动的脚本语言, 它不需要经过 Web 服务器就可以对用户的输入做出响应。
- 跨平台性。JavaScript 脚本语言不依赖于操作系统, 仅需要浏览器的支持。
5.== 和 === 的不同
参考答案: ==
是抽象相等运算符,而 ===
是严格相等运算符。==
运算符是在进行必要的类型转换后,再比较。===
运算符不会进行类型转换,所以如果两个值不是相同的类型,会直接返回 false。使用 ==
时,可能发生一些特别的事情,例如:
如果你对 ==
和 ===
的概念不是特别了解,建议大多数情况下使用 ===
。
6.怎样添加、移除、移动、复制、创建和查找节点?
参考答案:
- 创建新节点
- 添加、移除、替换、插入
- 查找
7.事件委托是什么
参考答案: 利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
8.require 与 import 的区别
参考答案: 两者的加载方式不同、规范不同 第一、两者的加载方式不同,require 是在运行时加载,而 import 是在编译时加载 第二、规范不同,require 是 CommonJS/AMD 规范,import 是 ESMAScript6+规范 第三、require 特点:社区方案,提供了服务器/浏览器的模块加载方案。非语言层面的标准。只能在运行时确定模块的依赖关系及输入/输出的变量,无法进行静态优化。 import 特点:语言规格层面支持模块功能。支持编译时静态分析,便于 JS 引入宏和类型检验。动态绑定。
9.javascript 对象的几种创建方式
参考答案: 第一种:Object 构造函数创建 第二种:使用对象字面量表示法 第三种:使用工厂模式创建对象 第四种:使用构造函数创建对象 第五种:原型创建对象模式 第六种:组合使用构造函数模式和原型模式
10.JavaScript 继承的方式和优缺点
参考答案: 六种方式