js练习题第16天 答案及解析

本篇文章是js基础练习题第十六天的答案及解析部分,纯题目部分请移步js基础练习题 第16天

正文

1.

1
let s1 = Symbol();
typeof(s1)的返回值为___________,let s2 = new Symbol();的返回值为___________,

答案:"symbol"、报错(TypeError

1
2
let s3 = Symbol("foo");
let s4 = Symbol("foo");
s3 === s4的返回值为___________,Object.is(s3, s4)的返回值为___________。

答案:falsefalse

Symbol是一种新的数据类型,且Symbol标示的是独一无二的值,任意两个Symbol都是不相等的,Symbol不是构造器,不能用new的方式创建。


2.
1
var newValue = oldValue;
newValue的值为___________,
1
var newValue = window.oldValue;
newValue的值为___________。

答案:报错(ReferenceError)、undefined

第一种写法为访问不存在的变量,故会报错;第二种写法为访问对象中未定义的属性,故会返回undefined


3.简述alert()confirm()prompt()三者的作用和区别。

如下所示:

  • alert通常是用来表示警告,告知用户一些错误信息或者对用户的重要的警告。
  • confirm是确认对话框,该对话框有两个按钮,即确认和取消,可以由用户来决定,通常用在关闭网页或退出登录或删除文件时。
  • prompt是提示对话框,通常用来提示用户输入一些信息。

4.正常情况下,document.firstChild应该是___________。

答案:<!doctype html>


5.document.documentElement获取到的是__________元素。

答案:<html>


6.(判断)使用document.body可以获取到body元素。

答案:正确


7.在JS中,获取页面元素有几种方式,请简要叙述。

答案:常用的方法有6种,如下所示:

  • 通过id获取元素:document.getElementById("id")
  • 通过标签名获取元素,结果为一个集合(类似数组):document.getElementsByTagName("tag")
  • 通过name属性获取元素,结果为一个集合(类似数组):document.getElementsByName("name")
  • 通过class名获取元素,结果为一个集合(类似数组):document.getElementsByClassName("className")
  • 访问指定元素,只取第一个值:document.querySelector("selector")
  • 访问指定元素,结果为一个集合(类似数组):document.querySelectorAll("selectors")

8.通过JS创建一个<div>元素,其类名为"myDiv",其中文本内容为"This is a div element created by JS.",创建成功后,将其加到<body>元素的末尾,试写出实现代码。

答案:代码如下所示:

1
2
3
4
5
6
7
8
9
// 方法1: 典型方法,创建元素并插入页面
var divElement = document.createElement("div");
divElement.className = "myDiv";
divElement.innerHTML = "This is a div element created by JS.";
document.body.appendChild(divElement);

// 方法2: 简洁方法,但内存开销大
var str = "<div class='myDiv'>This is a div element created by JS.</div>";
document.body.innerHTML += str;

说明

  1. 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
  1. 答案中,若有错误和需完善的地方,可在下方留言反馈哈~~

  2. 查看纯习题版,请点击js基础练习题 第16天

--本文结束 感谢阅读--
创作十分不易,原创更应鼓励