
javascript
纯黑色山羊
这个作者很懒,什么都没留下…
展开
-
关于javaScript的焦点事件
焦点事件焦点事件会在页面获得或失去焦点时触发。利用这些事件并与document.hasFocus( )方法及docuemnt.activeElement属性配合,可以知晓用户在页面上的行踪。有以下6个焦点事件blur:在元素失去焦点时触发。这个事件不会冒泡;所有浏览器都支持它 DOMFocusIn:在元素获得焦点时触发。这个事件与HTML事件focus等价。但它冒泡。只有Opera支持这个事件。DOM3级废弃了DOMFocusIn,选择了focusin focus:元素在获得焦点时触发。这个事件原创 2020-10-12 16:30:12 · 962 阅读 · 0 评论 -
关于javaScript中的UI事件
UI事件UI事件指哪些不一定与用户操作有关的事件。现有的UI事件如下:DOMActivte:表示元素已经被用户操作(通过鼠标或键盘)激活。此事件在DOM3级事件中被废弃,但Firefox2+和Chrome支持它,考虑不同浏览器实现差异,不建议使用 load:当页面完全加载后在window上触发,当所有框架都加载完毕时在框架集上触发,当图像加载完毕时在img元素上触发,当嵌入内容时,在object元素上触发 unload:当页面完全写在后在window上触发,当所有框架都写在后在框架集上触发,当嵌入原创 2020-10-10 11:28:53 · 393 阅读 · 0 评论 -
javaScript中的事件对象与事件类型
事件对象在触发DOM上的事件时,会产生一个事件对象event,包含所有与事件有关的信息,所有浏览器都支持event对象,但支持方式不同DOM中的事件对象兼容DOM的浏览器会将一个event对象传入事件处理程序中。无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event对象;event对象包含创建它的特定事件有关的属性和方法。触发的事件类型不一样,可用的属性和方法也不一样,但所有事件都会有以下属性和方法:bubbles:布尔值,只读,表明事件是否冒泡 cancelable:布原创 2020-09-29 11:52:10 · 221 阅读 · 0 评论 -
HTML绑定事件处理程序的三种方式
非IE浏览器事件直接写在HTML标签中,且触发的函数也在其中,里面不能使用未经转义的HTML语法字符,比如&号,<号或>号 事件直接写在HTML标签汇中,触发的函数写在javaScript中,代码执行过程中,有权访问全局作用域中的任何代码,触发的函数有一个event事件对象(无需定义,不用传参,可以直接访问),也可以使用this值访问事件的目标元素。可以在函数中使用with语句扩展作用域(不推荐) 缺点: 1.在javaScript未加载时,用户触发了事件,但函数未加载,会导致原创 2020-09-28 11:21:28 · 1063 阅读 · 0 评论 -
关于JavaScript的Storage
IE用户数据在IE5.0中,微软通过一个自定义行为引入了持久化用户数据的概念。用户数据允许每个文档最多128KB数据,每个域名最多1MB数据。使用方式如下: <div style = "behavior:url(#default#userData)" id = "dataStore"></div> 首先使用CSS在指定元素上作处理,如上userData 获取该元素的引用,并使用setAttribute绑定数据和removeAttributes来解绑数据,使用后必须调用sa原创 2020-09-08 14:06:57 · 2650 阅读 · 0 评论 -
关于JavaScript中的cookie
CookieHTTP Cookie,通常直接叫做cookie,最初是在客户端存储会话信息的。该标准要求服务器对任意HTTP请求发送Set-Cookie HTTP头作为响应的一部分,其中包含会话信息 发送回服务器的额外信息可以用于唯一验证客户来自于发送的哪个请求限制:cookie在性质上是绑定在特定域名下的。当设定了一个cookie后,再给创建它的域名发送请求时,都包含这个cookie。这个限制确保了存储再cookie中的信息只能让批准的访问者访问,而无法被其他域访问 由于cookie是存储再客原创 2020-09-04 18:04:07 · 267 阅读 · 0 评论 -
关于JavaScript离线存储
检测设备是否已经离线navigator.onLine:返回布尔值,返回true为设备可上网,false则为不可上网,不同浏览器有一定的差异 IE6+和Safari5+可以正确检测到网络已断开,并将navigator.onLine的值转换为false Firefox3+和Opera10.6+支持navigator.onLine属性,但必须手工选中菜单项文件→Web开发人员(设置)→脱机工作才能让浏览器正常工作 Chrome11及之前版本始终将navigator.onLine属性设置为true(201原创 2020-09-01 10:42:56 · 689 阅读 · 0 评论 -
关于JSON
JSON三种类型值简单值:使用与JavaScript相同的语法,可以在JSON中表示字符串、数值、布尔值和null,但JSON不支持JavaScript中的特殊值undefined 与JavaScript中的简单值比较区别不大 对象:对象作为一种复杂数据类型,表示的是一组有序的键值对。而每个键值对中的值可以是简单值,也可以是复杂类型的值 与JavaScript中的对象字面量对比: 没有末尾的分号(;) 属性必须加上双引号 没有声明变量 数组:数组也是一种复杂数据类型,表示一组有序的值的列表原创 2020-08-31 10:32:49 · 227 阅读 · 0 评论 -
javaScript杂项
关于script与noscript元素所有script元素都会按照它们在页面中出现的顺序依序被解析,在不使用defer和async属性的情况下,只有在解析完前面的script元素中的代码之后,才会开始解析后面的script元素中的代码 由于浏览器会先解析完不使用defer属性的script元素中的代码,然后再解析后面的内容,所以一般应该把script元素放在页面的最后,即主要内容后面</body>标签前面 使用defer属性可以让脚本在文档完全呈现之后再执行,延迟脚本总是按照它们指定的顺原创 2020-08-28 10:39:16 · 173 阅读 · 0 评论 -
关于javaScript面向对象
数据属性包含一个数据值的位置,可以进行读写操作,有四个描述行为的特性,默认值都为true[[Configurable]]:表示能否通过delete删除属性而重新定义属性。能否修改属性的特性,或者能否把属性修改为访问器属性,一旦改为false,就无法改回true [[Enumerable]]:表示能否通过for-in循环返回属性 [[Writable]]:表示能否修改属性的值 [[Value]]:表示包含这个属性的数据值。读取属性时,从这个位置读;写入新的属性值时,把新值赋在这个位置,默认值为u原创 2020-08-27 15:06:47 · 135 阅读 · 0 评论 -
关于javaScript的Math对象
Math对象属性E:自然对数的底数,即常量e的值 LN10:10的自然对数 LN2:2的自然对数 LOG2E:以2为底e的对数 LOG10E:以10为底e的对数 PI:圆周率 SQRT1_2:1/2的平方根(即2的平方根的倒数) SQRT2:2的平方根Math对象的方法min( ):用于确定一组数值中的最小值 max( ):用于确定一组数值中的最大值 ceil( ):执行向上舍入,即它总是将数值向上舍入为最接近的整数 floor( ):执行向下舍入,即它总是将数值向下舍入为最近原创 2020-08-25 11:01:03 · 145 阅读 · 0 评论 -
关于JavaScript的Global对象
描述:Global对象即是全局对象URI编码方法encodeURI( ):用于整个URI,不会对本身属于URI的特殊字符编码,如:冒号,正斜杠,问号和井号 encodeURIComponent( ):主要用于URI的某段,会对其中的任何非标准字符进行编码,一般只对URI后面的字符串使用 decodeURI( ):只对使用encodeURI( )编码替换的字符进行解码 deCodeURI( ):对encodeURIComponent( )编码替换的字符串进行解码其他方法 eval(原创 2020-08-24 10:39:10 · 263 阅读 · 0 评论 -
将获取的flie图片显示到页面
需求描述需要上传图片至后端,并且需要前端将上传的图片显示出来,且后端并不会返回上传的图片的路径实现方式FlieReader对象获取图片的base64位数据显示图片原理:FlieReader对象允许Web应用程序异步读取存储在用户计算机上的文件;通过设置FlieReader实例对象的onload事件获取使用readAsDataURL读取的文件信息(返回data:URL格式的Base64字符串),来显示图片,代码如下:<template> <div>原创 2020-08-21 10:50:54 · 306 阅读 · 0 评论 -
关于javaScript中的基本包装类型(Boolean,Number,String)
特点Object构造函数会根据传入值的类型返回相应的基本包装类型实例 引用类型和基本包装类型的主要区别在于对象的生存期 基本包装类型只存在于一行代码执行瞬间,随后被销毁 基本类型是没有方法的,但当调用特定方法时,其实后台自动完成了如下处理 创建一个基本包装类型的实例 在这个实例上调用指定的方法 销毁这个实例 不建议使用对应的构造函数来创建基本类型,应使用对象字面量的方式Boolean类型创建方式// 通过调用new Boolean()构造函数,传入true或者false创建le原创 2020-08-18 20:02:21 · 236 阅读 · 0 评论 -
关于javaScript的Function对象
声明方式函数表达式: 使用const,let,var等进行函数的声明,如: var Fn = function(){} 其特点是只有在解析器解析到它所在的代码才会执行,在这之前访问,都是undefined,并且使用const,let时,提前访问会报错 函数声明: 使用function关键字进行函数声明,如: function Fn(){} 其特点是在预编译期就已经被解析器读取并添加到执行环境中,所以在代码中的任何位置都可以访问到这个函数; 函数的内部属性argum原创 2020-08-17 15:10:05 · 268 阅读 · 0 评论 -
关于RegExp对象
创建方法使用RegExp构造函数创建正则表达式,接受两个参数,一个是要匹配的字符串模式,一个是可选标志字符串,并且有元字符时,需要\\来进行转义 使用类似Perl语法创建正则表达式:var expression = /pattern/flages;其中pattern代表正则表达式,flages代表标志分别为g、i、mflages标志含义:g:表示全局模式,该模式被应用于所有字符串,而非在发现第一个匹配项时立即停止 i:表示不区分大小写 m:表示多行匹配RegExp的实例属性g原创 2020-08-14 11:18:37 · 174 阅读 · 0 评论 -
时间格式化函数
主要是通过正则对象格式化时间// date传入的是Date构造函数的实例function DateFormat(date){ let ret,timeStr; const opt = { "Y+" : date.getFullYear().toString(), "M+" : ( date.getMonth()+1 ).toString(), "D+" : date.getDate().toString(), "H+"原创 2020-08-13 10:09:07 · 169 阅读 · 0 评论 -
关于javaScript时间对象
特点:UTC日期指没有时区偏差的情况下,有时区的为GMT 使用UTC1970年1月1日午夜(零时)开始经过的毫秒数来保存日期创建方式只能使用new Date( )构造函数创建。不传参的情况下,值为1970年1月1日至今的毫秒数。当传入表示日期的字符串时,后台调用Date.parse( )方法,返回此日期距离1970年1月1日至传入日期的毫秒数,格式因浏览器而异(兼容问题),如果传入的不是日期,将返回NaN方法Date.UTC( ):返回表示日期的毫秒数,参数为年,月,日,时,分,原创 2020-08-12 10:48:09 · 120 阅读 · 0 评论 -
关于JavaScript数组
创建方法对象字面量语var arr = [ ];构造函数创建new Array( )数组的转换方法toString( ):数组继承而来的方法,返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串 valueOf( ):数组继承而来的方法,调用数组中每一项的toString( )方法,返回一个数组 toLocaleString( ):数组继承而来的方法,经常返回与toString( )和valueOf( )方法相同的值。当调用数组的toLocaleString( ) 方法时,原创 2020-08-11 11:41:52 · 143 阅读 · 1 评论 -
关于JavaScript对象属性与方法
对象:(引用数据类型)每个object的实例都具有下列属性和方法:Constructor:保存着用于创建当前对象的函数 hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名必须以字符串的形式指定 isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型 propertyIsEnumerable(propertyName):用于检查给定的属性是否能使用for-in语句来枚举原创 2020-08-10 10:00:12 · 158 阅读 · 0 评论 -
JavaScript中的语句
do-while语句在表达式求值之前,循环体内的的代码至少被执行一次;// 以下代码在执行前置条件运行前,先执行console.log语句,在控制台中输出:我先执行do{ console.log("我先执行");}while(1 > 2)for-in语句用来枚举对象的属性,当改对象有属性为null或undefined时,就跳出循环,并且枚举的属性是随机的// 枚举obj对象的所有属性// 执行下列代码后,结果为a、b或者b、avar obj = { a : "a"原创 2020-08-06 02:26:08 · 114 阅读 · 0 评论 -
关于JavaScript比较操作符
关系操作符:<、>、<=、>=在处理特殊情况时,遵循以下规则:如果两个操作数都是数值,则执行数值比较 如果两个操作数都是字符串,则比较两个字符串对应的字符编码值 如果一个操作数是对象,则调用这个对象的valueOf()方法,用得到的结果按照前面的规则进行比较。如果对象没有valueOf()方法,则调用toString()方法,并用得到的结果再进行比较 如果一个操作数是布尔值,则先将其转换为数值,在进行比较相等操作符:相等(==)、不相等(!=)、全等(===)、不全等原创 2020-08-05 01:46:30 · 138 阅读 · 0 评论 -
关于JavaScript乘性运算符
乘法:(*)在处理特殊情况时,遵循以下规则:如果操作数都是数值,执行常规的乘法计算。注意:如果乘积超过了ECMAScript数值的表示范围,这返回Infinity或-Infiniy 如果有一个操作数是NaN,则结果返回NaN 如果是Infinity与0相乘,则结果返回NaN 如果是Infinity与非0数值相乘时,则结果为Infinity或-Infinity 如果是Infinity与Infinity相乘,则结果是Infinity 如果有一个操作数不是数值,则后台调用Number()将其原创 2020-08-03 17:04:13 · 524 阅读 · 0 评论 -
关于JavaScript布尔操作符
布尔操作符:非(!)操作数为对象、非空字符串、非零数值(包括Infinity),其结果返回false 操作数为空字符串(""或'')、数字0,、null、NaN、undefined,其结果返回true 注意:同时使用两个非操作符,实际上就会模拟Boolean()函数的行为,即求此值的布尔值布尔值操作符:与(&&)特点:如果第一个操作数能够决定结果,那么就不会再对第二个操作数求值;当两个操作数为布尔值时,两个操作数之间只要有一个为false,都返回false 当有一个操作数原创 2020-08-03 02:47:31 · 307 阅读 · 0 评论 -
0001dome-使用事件委托实现点击按钮显示相应内容
<!DOCTYPE html><html><head><title>事件代理Ddome</title></head><style type="text/css">/*略微美化一下*/html,body,div,ul,li{margin:0;padding:0;text-al原创 2018-05-18 14:32:47 · 660 阅读 · 0 评论 -
简单的jquery的ajax跨域请求(jsonp)
$.ajax({//请求的链接地址 ,比如: url : “https://www.baidu.com”, // 发送的数据参数(键值对形式) data : { }, // 请求的方式 type:"GET", // 请求的数据格...原创 2018-05-08 17:31:45 · 242 阅读 · 0 评论 -
0004有意思的小题目
给定一个n个元素的数组,找到最多的元素值。最多元素值是出现超过【n数组长度/2】倍的元素。假设数组非空且多数元素始终存在于数组中var arr = [2,1,1,1,1,1,1,1,1,2,1,1,1,1,'1n',1];const majorityElement = function(arr){if(arr.length > 0){let max = arr.length/...原创 2018-05-22 15:05:36 · 237 阅读 · 0 评论 -
数字转换为英文数值表示法函数
/* *参数说明: * num:需要转换的数字 * save : 需要保留的小数位 */ numTransfrom(num,save){ let int,float,str=""; function numb(int, str, len){ let i = len - 3; if (i > 0) { s...原创 2018-09-25 14:07:16 · 1307 阅读 · 0 评论 -
javaScript操作cookit函数
const cookieUtils = { get(name){//获取cookie let cookies = document.cookie; cookie_name = `${encodeURIComponent(name)}=`, cookie_start = cookies.indexOf(cookie_name), cookie_value = null; ...原创 2018-09-28 15:43:00 · 856 阅读 · 0 评论 -
关于继承
1.类式继承://声明父类function SuperClass(){ this.superValue = true;}//为父类添加共有方法SuperClass.prototype.getSuperValue = function(){ return this.superValue;}//声明子类function SubClass(){ this.su...原创 2019-04-30 18:12:05 · 134 阅读 · 0 评论 -
倒计时函数
// 倒计时功能对象var countDown = {// 时间变量:天、时、分、秒dayTime : '',hoursTime : '',minuteTime : '',secondTime : '',// 倒计时函数count_down : function(callback){var countDown = setTimeout(()=>{this.secondT...原创 2018-05-04 16:48:55 · 495 阅读 · 0 评论