2015.12.08 HTML5真题练习
时间:2022-05-03
本文章向大家介绍2015.12.08 HTML5真题练习,主要内容包括HTML5真题【2015.12.07】答案解析、HTML5真题【2015.12.08】题目、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
HTML5学堂:每天一道题,强壮程序员!今日主要涉及12.07题目(作用域、this指向)的解答,以及一道涉及原型、原型链相关知识的题目。
HTML5真题【2015.12.07】答案解析
12.07真题题目如下,最终输出的结果是多少?
<script>
var innerHTML = 'h5course';
window.onload = function() {
var innerHTML = 'HTML5学堂';
var obj = {
innerHTML: 'H5学堂',
fn: function() {
console.log(this.innerHTML);
}
}
obj.fn();
var peo1 = obj;
peo1.fn();
var peo2 = obj.fn;
peo2();
}
</script>
本题目的答案是:H5学堂,H5学堂,HTML5学堂。
本题目主要考察如下知识点:this的基本指向。
解释一下代码:在定义时,fn是obj的方法,也就是obj.fn = function(){console.log(this.innerHTML)}。this指向函数的所有者,此时fn是这个函数,函数的所有者自然就是obj了。因此,第一个obj.fn()相当于是打印obj.innerHTML,答案是“H5学堂”。之后,将obj赋值给peo1,其实我们可以认为是将obj的地址赋值给了peo1,更简单的来说,就是让peo1和obj指向了同一个空间,此时使用peo1进行fn方法的调用是等价于obj.fn()的,因此答案也是“H5学堂”。
peo2部分,明显发生了变化,不再是将obj赋值给peo2,而是将obj的fn方法赋值给了peo2。此时可以直接简单的理解为 var peo2 = function() {console.log(this.innerHTML)},此时,peo2成为了一个“方法/功能”,而peo2的所有者是window,因此this指向window,此时this.innerHTML自然就是'HTML5学堂'了。
相关知识:本题目主要涉及this指向
HTML5真题【2015.12.08】题目
<script>
function Fun(a, b) {
this.a = a;
this.b = b;
var c = 3;
}
Fun.prototype.sum = function() {
return this.a + this.b;
}
var fun = new Fun(1, 2);
console.log(fun.c);
console.log(fun.hasOwnProperty("sum"));
</script>
关于每日代码练习题的答案和解析,我们会在明日文章当中,发布相关答案以及基本原理。(PS:周六日不发布题目)
- 开源组件photoView学习
- ViewPagerIndicator+viewpager指示器详解
- 实现去哪儿来回机票选择的view
- 解决水平ListView在ScrollView中出现的滑动冲突
- Android逆向分析(2) APK的打包与安装背后的故事
- Activity之间传递大数据问题
- React Native入门(二)Atom+Nuclide安装、配置与调试
- React Native入门(一)环境搭建与Hello World
- android 自定义Viewpager实现无限循环
- Android内存优化(二)DVM和ART的GC日志分析
- Android Material Design之Toolbar与Palette实践
- android-async-http框架源码分析
- 使用Buck构建Android工程
- android 实现淘宝收益图的折线
- HTML 教程
- HTML 简介
- html div 标签介绍
- html span 标签介绍
- html a 超链接标签
- HTML Br换行标签介绍
- HTML P段落标签介绍
- HTML br与p标签区别
- Html H 标题标签
- html px em pt长度单位
- HTML form 标签
- HTML radio 单选框
- HTML B 加粗标签
- HTML strong加粗粗体标签
- HTML em 强调标签
- HTML i 斜体标签
- HTML u下划线标签
- HTML s 删除线标签
- Html img 图片标签
- Html上标注sup与下标注sub标签
- HTML nobr 禁止换行标签
- HTML hr 水平线标签
- HTML label 标签
- HTML input 标签
- HTML textarea 标签
- HTML select下拉列表标签
- HTML checkbox 多选框
- HTML font color 标签
- HTML iframe 框架标签
- HTML Table 表格
- HTML dl dt dd 标签
- HTML ol li有序列表标签
- HTML ul li 无序列表标签
- HTML 注释
- CSS 教程
- CSS 简介
- CSS 语法
- CSS Id 和 Class选择器
- CSS 样式的创建
- CSS background 背景介绍
- CSS 文本样式
- CSS font 字体
- CSS A 链接
- CSS ul ol列表样式
- CSS TABLE 样式
- CSS 框模型
- CSS border 边框
- CSS Outlines 轮廓
- CSS 外边距 Margin
- CSS Padding 内边距
- CSS 分组和嵌套选择器
- CSS 尺寸 (Dimension)
- CSS Display 属性
- CSS Position 定位
- CSS Float 浮动
- CSS 水平对齐(Horizontal Align)
- CSS 组合选择符
- CSS 伪类
- CSS 伪元素
- CSS 导航栏
- CSS 下拉菜单
- CSS 图片廊
- CSS 图像透明/不透明
- CSS sprite 图像拼合技术
- CSS 媒体类型
- CSS 属性选择器
- CSS 实例
- 使用Anchore Enine来完善DevSecOps工具链
- PyTorch版CenterNet训练自己的数据集
- SpringBoot2 整合FreeMarker模板,完成页面静态化处理
- PHP多文件上传格式化
- NDK开发案例 | C/C++调用java层代码
- 深入理解 SecurityConfigurer 【源码篇】
- Swift 属性
- Swift 类和结构体
- 使用深度学习和OpenCV的早期火灾检测系统
- 【时序预测】一文梳理时间序列预测——ARMA模型
- 三分钟Kubernetes-环境搭建篇
- Linux分区页框分配器之水位
- 使用GPU训练模型
- Spring事务源码分析专题(一)JdbcTemplate使用及源码分析
- TensorFlow处理运动想象分类任务