事件绑定的三种方式

举报
上善若水. 发表于 2022/10/30 00:43:34 2022/10/30
1.2k+ 0 0
【摘要】 JS中的Array.prototype.splice()和Array.prototype.slice()方法作用与区别两都的作用都是截取数组中元素,返回一个新数组splice(): 第一个参数为下标,第二个参数为截取个数,并且会影响原数组slice():第一个参数为起始下标,第二个参数为结束下标,不会影响原数组下方js执行后的打印值为?function demo() {this.length...

JS中的Array.prototype.splice()和Array.prototype.slice()方法作用与区别

两都的作用都是截取数组中元素,返回一个新数组
splice(): 第一个参数为下标,第二个参数为截取个数,并且会影响原数组
slice():第一个参数为起始下标,第二个参数为结束下标,不会影响原数组
下方js执行后的打印值为?

function demo() {
this.length = 10;
var fn = function() {
console.log(this.length); // 输出多少?
}
arr = [fn, ‘hello layui’];
fn.length = 100;
arr0;
}

window.demo()
console.log(this.length)------打印结果为2

事件绑定的三种方式

在标签上直接设置事件 onclik=“a()”
dom.onclick = function(){}
addEventListener(‘click’,function(){},true)
事件绑定和普通事件有什么区别?

普通事件会覆盖掉,只执行后者方法
dom.onclick = function(){}
事件绑定不会覆盖掉,会依次执行
addEventListener(‘click’,function(){},true)
渐进增强与优雅降级

渐进增强:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进,达到更好的用户体验。
优降级:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
浏览器对象有哪些

navigator:含有正在使用的Navigator的名称、版本属性,
window:最高等级的对象,拥有整个窗口的属性;
document:包含基于文档内容的属性
location:含有基于当前的URL的属性。
history:包含客户机先前已经请求过的URL。
列举3种强制类型转换(显示类型转换) 和 2种隐式类型转换

强制类型转换
Number(‘1235’)
parseInt(‘1235’)
parseFloat(‘1235’)
隐式类型转换
‘10’ - 0
‘10’ * 0
for in 和 for of
答案:
(1)、for in

1.一般用于遍历对象的可枚举属性。以及对象从构造函数原型中继承的属性
2.不建议使用 for in 遍历数组,因为输出的顺序是不固定的。
3.如果迭代的对象的变量值是 null 或者 undefined,
for in 不执行循环体,建议在使用 for in 循环之前,
先检查该对象的值是不是 null 或者 undefined
(2)、for of

for…of 语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)
上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
回答以下代码,alert的值分别是多少?

<script> var a = 100; function test(){ alert(a); //输出为100 a = 10; alert(a); //输出为10 } test(); alert(a); //输出为10 </script>

通过var(let、const)定义声明变量,如果var则就仅仅只给变量赋值
JS中的Array.prototype.splice()和Array.prototype.slice()方法作用与区别

两都的作用都是截取数组中元素,返回一个新数组
splice(): 第一个参数为下标,第二个参数为截取个数,并且会影响原数组
slice():第一个参数为起始下标,第二个参数为结束下标,不会影响原数组
下方js执行后的打印值为?

function demo() {
this.length = 10;
var fn = function() {
console.log(this.length); // 输出多少?
}
arr = [fn, ‘hello layui’];
fn.length = 100;
arr0;
}

window.demo()
console.log(this.length)------打印结果为2

事件绑定的三种方式

在标签上直接设置事件 onclik=“a()”
dom.onclick = function(){}
addEventListener(‘click’,function(){},true)
事件绑定和普通事件有什么区别?

普通事件会覆盖掉,只执行后者方法
dom.onclick = function(){}
事件绑定不会覆盖掉,会依次执行
addEventListener(‘click’,function(){},true)
渐进增强与优雅降级

渐进增强:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进,达到更好的用户体验。
优雅降级:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
浏览器对象有哪些

navigator:含有正在使用的Navigator的名称、版本属性,
window:最高等级的对象,拥有整个窗口的属性;
document:包含基于文档内容的属性
location:含有基于当前的URL的属性。
history:包含客户机先前已经请求过的URL。
列举3种强制类型转换(显示类型转换) 和 2种隐式类型转换

强制类型转换
Number(‘1235’)
parseInt(‘1235’)
parseFloat(‘1235’)
隐式类型转换
‘10’ - 0
‘10’ * 0
for in 和 for of
答案:
(1)、for in

1.一般用于遍历对象的可枚举属性。以及对象从构造函数原型中继承的属性
2.不建议使用 for in 遍历数组,因为输出的顺序是不固定的。
3.如果迭代的对象的变量值是 null 或者 undefined,
for in 不执行循环体,建议在使用 for in 循环之前,
先检查该对象的值是不是 null 或者 undefined
(2)、for of

for…of 语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)
上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
回答以下代码,alert的值分别是多少?

<script> var a = 100; function test(){ alert(a); //输出为100 a = 10; alert(a); //输出为10 } test(); alert(a); //输出为10 </script>

通过var(let、const)定义声明变量,如果var则就仅仅只给变量赋值

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。