文章目录前言一、禁用鼠标右键1.1、分析说明1.2、操作原理1.3、实现效果1.4、实现代码1.5、补充:JS中的button事件属性二、禁用复制粘贴2.1、分析说明2.2、实现代码三、禁用输入框自动填充功能3.1、分析说明3.2、实现效果3.3、实现代码总结前言我们在项目中,通常为了保证数据安全性和保护用户个人信息,个别页面需要禁用右键、复制、粘贴以及输入框自动填充的功能。所以在此补充和总结几条我们开发中常用的操作方式。一、禁用...
2021-05-06 16:11:26 2.3w浏览 0点赞 0回复 0收藏
前言:大家好,我是林一一,这是一篇关于this指向的文章。this是JS中一个特别重要的一个知识点,this难吗?好像挺简单的。看完下面这一篇文章,还不会的话,你别来找我。手动狗头🐕。思维导图this的指向执行函数前有'.'点操作符的话,函数体中的this就指向前面的对象,没有就指向window,严格模式下指向undefined。这句话特别的重要,请记住函数没有直接调用者this指向全局对象(浏览器中是window,node中是global)。如匿名函数...
2021-04-30 19:19:26 9947浏览 0点赞 0回复 0收藏
前言整理了一下javascript的基础知识,在此给大家做下分享,喜欢的大佬们可以给个赞。js是一门单线程语言。js引擎有一个主线程(mainthread)用来解释和执行js程序,实际上还存在其他的线程。例如:处理ajax请求的线程、处理DOM事件的线程、定时器线程、读写文件的线程(例如在node.js中)等等。这些线程可能存在于js引擎之内,也可能存在于js引擎之外,在此我们不做区分。不妨叫它们工作线程。JS执行上下文当代吗运行时,会产生...
2021-04-30 19:19:14 7657浏览 0点赞 0回复 0收藏
前言本文主要介绍鸿蒙应用开发中的ListContainer控件的使用,其中涉及以下几个鸿蒙sdk的知识点。ListContainerTaskDispatcherEventHandler我们废话不多说,直接进入正题。ListContainerListContainer等同于Android中的Listview,将会是以后我们日常开发最常使用的控件之一。为什么说等同于Listview呢?不仅是因为效果基本一致,连Api的设计和代码实现都基本一致,上代码ListItemProvider.javapublicclassListItemProviderextend...
2021-04-30 19:19:05 1.3w浏览 0点赞 0回复 0收藏
前言本文将从以下几方面阐述Javascript中this的指向问题。标准函数中,this的引用值是什么箭头函数中,this的引用值是什么使用new关键字创建对象时,this的引用值是什么闭包中使用this时,this的引用值什么标准函数中,this的引用值是什么标准函数中,this引用的是把函数当成方法调用的上下文对象在标准函数中this的值是会根据方法被调用的情况改变所引用的值window.identity"TheWindow"letobject{identity:'MyObject',getIdent...
2021-04-30 19:18:55 8702浏览 0点赞 0回复 0收藏
前言函数式编程在前端已经成为了一个非常热门的话题。在最近几年里,我们看到非常多的应用程序代码库里大量使用着函数式编程思想。本文将略去那些晦涩难懂的概念介绍,重点展示在JavaScript中到底什么是函数式的代码、声明式与命令式代码的区别、以及常见的函数式模型都有哪些?一、什么是函数式编程函数式编程是一种编程范式,主要是利用函数把运算过程封装起来,通过组合各种函数来计算结果。函数式编程意味着你可以在更短的...
2021-04-29 17:02:49 9978浏览 0点赞 0回复 0收藏
前言一个ECMAScript标准的制作过程,包含了Stage0到Stage4五个阶段,每个阶段提交至下一阶段都需要TC39审批通过。本文介绍这些新特性处于Stage3或者Stage4阶段,这意味着应该很快在浏览器和其他引擎中支持这些特性。一、类的私有变量最新提案之一是在类中添加私有变量的方法。我们将使用符号表示类的私有变量。这样就不需要使用闭包来隐藏不想暴露给外界的私有变量。classCounter{x0;increment(){this.x++;}onClick(){this.incr...
2021-04-29 17:02:38 7822浏览 0点赞 0回复 0收藏
一、前言下拉刷新和上拉加载这两种交互方式通常出现在移动端中本质上等同于PC网页中的分页,只是交互形式不同开源社区也有很多优秀的解决方案,如iscroll、betterscroll、pulltorefresh.js库等等这些第三方库使用起来非常便捷我们通过原生的方式实现一次上拉加载,下拉刷新,有助于对第三方库有更好的理解与使用二、实现原理上拉加载及下拉刷新都依赖于用户交互最重要的是要理解在什么场景,什么时机下触发交互动作上拉加载首先...
2021-04-29 17:02:26 1.5w浏览 0点赞 0回复 0收藏
我们知道,JavaScript是一门弱类型的语言,它创建的变量保存的值是可以在脚本生命周期内改变的,假如初始化定义的变量值为数字(vara1;),然后进行改变它的值的操作(aa+'个';),这个变量值就会转换为字符串类型(alert(a);"1个")。实际上,JavaScript的变量实际复杂程度还远不止如此。基本类型和引用类型一个变量可以存放两种类型的值,基本类型的值(primitivevalues)和引用类型的值(referencevalues)。基本类型值指的...
2021-04-27 10:47:39 8953浏览 0点赞 0回复 0收藏
一、js循环1.一般for循环vararray[1,2,3,4,5,6,7];for(vari0;i<array.length;i++){console.log(i,array[i]);}2.for...inletarray[2,4,6,8,9];for(letindexinarray){console.log(index+""+array[index]);};0214...index遍历的是数组或字符串的下标,或者对象的键名。可枚举的都可以用for...in遍历。注意:fo…in循环一般用于对象的遍历,但是这里有一个坑需要注意:任何对象都继承了Object对象,或者其它对象,继承的类的属性是...
2021-04-27 10:47:31 9286浏览 0点赞 0回复 0收藏
1.节流从滚动条监听的例子说起:监听浏览器滚动事件,返回当前滚条与顶部的距离functionshowTop(){varscrollTopdocument.body.scrollTopdocument.documentElement.scrollTop;console.log("滚动条位置:"+scrollTop);}window.onscrollshowTop;在运行的时候会发现存在一个问题:这个函数的默认执行频率,太!高!了!。高到什么程度呢?以chrome为例,我们可以点击选中一个页面的滚动条,然后点击一次键盘的【向下方向键】,会发...
2021-04-27 10:47:20 1.0w浏览 0点赞 0回复 0收藏
简介我们都知道javascript是一个弱类型语言,在ES5之前,javascript的程序编写具有很强的随意性,我可以称之为懒散模式(sloppymode)。比如可以使用未定义的变量,可以给对象中的任意属性赋值并不会抛出异常等等。在ES5中,引入了strict模式,我们可以称之为严格模式。相应的sloppymode就可以被称为非严格模式。严格模式并不是非严格模式的一个子集,相反的严格模式在语义上和非严格模式都发生了一定的变化,所以我们在使用过...
2021-04-25 09:50:44 9221浏览 0点赞 0回复 0收藏
智能门锁与BLE设备安全Part1:BLE协议栈与AndroidBLE接口简介概述最近受疫情影响,已经在家办公了很长一段时间,正好借此机会把此前的工作进行了一番整理,并挑选出来了一部分可以公开的题材,最终形成了这个专题的文章。在我们的计划中,这个专题有两个主线,分别是:a.BLE设备安全研究b.智能门锁的安全研究其中,智能门锁是我们的主要研究目标,但由于很多智能门锁在蓝牙BLE这块的设计或多或少地有些小问题,所以我们就将一些...
2021-04-25 09:50:33 9882浏览 0点赞 0回复 0收藏
1.什么是方法首先让我们定义并调用常规函数:functiongreet(who){returnHello,${who}!;}greet('World');>'Hello,World!'常规函数定义的形式为关键字function后跟名称、参数和函数体:functiongreet(who){...}。greet('World')是常规函数调用。函数greet('World')从参数接受数据。如果who是对象的属性怎么办?要想轻松访问对象的属性,可以将函数附加到该对象,也就是创建一个方法。让我们把greet()作为对象world的一个方法:con...
2021-04-25 09:50:23 8856浏览 0点赞 0回复 0收藏
简介诸位好久不见,[胖猴小玩闹]专题从这篇起将开始一个新的系列,即智能设备分析系列。旧的系列并没有结束,而且文章也已经写好了,只是在发送之前又不小心发现了一些漏洞,所以就暂且放一放吧。作为新系列的开篇,我们打算分享一下华为智联旗下的小豚AI摄像头,这也是我们在2020年某AIoT安全峰会上的分享内容。胖猴实验室在去年某日收到了一批赞助,赞助内容为华为IoT终端奖励计划列表里面的大部分设备,如下图:图11华为终端...
2021-04-25 09:50:02 9714浏览 0点赞 0回复 0收藏
在大多数的文章中,attribute一般被翻译为“特性”,property被译为“属性”。结论把结论写在最前面,如果你全都懂,后面就不用看了。HTMLattributeDOMproperty值永远是字符串或null值可以是任意合法js类型大小写不敏感大小写敏感不存在时返回null不存在时返回undefined对于href,返回html设置的值对于href返回解析后的完整url更新value,属性也更新更新value,特性不更新概述当我们书写HTML代码的时候,我们为HTML元素设置特性,...
2021-04-23 18:14:21 1.1w浏览 0点赞 0回复 0收藏
思考:此问题考察对线程的基本使用认识和实际工作中的使用经验。需要循序渐进的回答出以下三个小点:java中的Thread有stop方法,后来为什么废弃了?解决此类问题的方法有哪几种?你认为的最优解是哪种?原因是什么?java中的Thread有stop方法,后来为什么废弃了?java语言中的Thread从设计之初是有stop方法的,但是很快被废弃了,原因是突然中断一个线程,可能导致此线程之前持有的资源(如内存)未做清理就释放了,当其他线程...
2021-04-23 18:14:10 1.0w浏览 0点赞 0回复 0收藏
一个变量可以存放两种类型的值,基本类型的值(primitivevalues)和引用类型的值(referencevalues)。ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。基本类型JavaScript中有6种基本数据类型:Undefined、Null、Boolean、Number、String、Symbol(newinES6)!约定:基本数据...
2021-04-23 18:13:55 8559浏览 0点赞 0回复 0收藏
简介本篇我们继续分享一些关于华为智联旗下小豚AI摄像头的研究内容,在上一篇文章中,我们已经通过串口顺利登录设备的Linux操作系统,接下来我们还会介绍两种登录设备系统的方法,可以在串口无法使用时发挥作用。下文中,我们需要编译可以在摄像头设备中正常运行的程序,所以开始之前,先要把SDK开发环境配置好,比如说交叉编译器等。好在我们买到的SDK还不错,该有的文档、必要的脚本一个都不差,按照指示步骤逐步操作即可。在...
2021-04-23 18:13:40 9697浏览 0点赞 0回复 0收藏
简介本篇是关于海康萤石智能网关分析的第4篇,应该也是关于海康萤石智能网关的最后一篇,原计划是再多分享点内容,但鉴于胖猴实验室和海康的良好关系,把海康萤石的网关设备分享得非常透彻也不太好。其实,在此前的3篇文章中,我们已经完成了固件编辑和重打包,通过telnet登陆固件系统,以及使用gdbserver调试程序,在此基础之上,相信读者完全可以对设备固件进行独立分析了。在这海康萤石智能网关的最后一篇文章中,我们就把上...
2021-04-22 10:56:02 9418浏览 0点赞 0回复 0收藏