暂无个人介绍
javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解。 ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此。
1、childNodes:获取子节点,不同浏览器表现不同; IE:只获取元素节点; 非IE:获取元素节点与文本节点; 解决方案:if(childNode.nodeName=="#text") continue 或者 if(childNode.nodeType != '3') continue 2、children:获取元素子节点,浏览器表现相同。
DOM 即 文档对象模型。 文档对象模型是一种与编程语言及平台无关的API(Application programming Interface),借助于它,程序能够动态地访问和修改文档内容、结构或显示样式。
JS里面的单引号和双引号可以同时使用,但是要遵循一定的准则。 最外面用了双引号了,那么里面就不能再用双引号了,因为引号是成双对的,浏览器读到一个双引号后,到第2个双引号时才算结束;同理,浏览器读到一个单引号后,必须要读到第二个单引号才算结束, 不管是单引号还是双引号,里面都可以套相反的引号,但是不可以双引号里面套单引号,这个单引号再套双引号,这是不行的。
insertBefore() 语法: insertBefore(newchild,refchild) newchild 插入新的节点 refchild 在此节点前插入新节点 Coffee Tea function myFunction(){ var newItem=document.
//删除id var idObject = document.getElementById('sidebar'); if (idObject != null) idObject.
所谓的 词法( 代码 )作用域, 就是代码在编写过程中体现出来的作用范围. 代码一旦写好, 不用执行, 作用范围就已经确定好了. 这个就是所谓词法作用域. 在 js 中词法作用域规则: 1.函数允许访问函数外的数据.
先给几段代码,看看你能知道运行结果不 function example1() { var f = function() {return 1;}; return f; var f = function() {return 2;}; } var a1 = examp...
我们都知道函数中声明变量不用Var时这个变量会成为全局变量,但是并不是函数一开始执行就会把它变为全局变量,必须执行到这条语句。 看一段代码 function f(){ alert(a); a = 3;}f(); //error: a is not defined 只有函数内部...
先说说这个实例的要求:写一个方法实现数组的去重。(要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考); 先给初学者解释一下什么叫数组去重(老鸟跳过):意思就是讲数组里面重复的元素去掉,比如说var arr = [3,2,4,2,1,2]; 数组去重得到的新数组是 [3,2,4,1],就是这么一个功能。
原生JS判断手势方向的解决思路: 1、滑动屏幕事件使用html5 的touchstart滑动开始事件和touchend滑动结束事件。 2、方向的判断,以起点做平面坐标系,与终点连线做直线,直线与x正半轴计算角度;我们以45度角为方向分割线,如:只要滑动角度大于等于45度且小于135度,则判断它方向为向上滑。
移动端click会遇到2个问题,click会有200-300ms的延迟,同时click事件的延迟响应,会出现穿透,即点击会触发非当前层的点击事件。 为什么会存在延迟? Google开发者文档中有提到: mobile browsers will wait approximately 300ms f...
补充一个基本知识,不许笑,1rem等于HTML中设置的字体大小(px) 首先,HTML 的 head 部分中加入如下代码: initial-scale:初始缩放比例,即当浏览器第一次加载页面时的缩放比例。
移动端媒体查询的一些尺寸参考 /*iphone4 4s*/ @media only screen and (device-height :480px) and (-webkit-device-pixel-ratio:2){ /* Styles */ } @media screen and (min-...
@media 标签可以说是响应式网页的开发基础。其主要由媒体类型(Media Type)和 媒体特性(Media Query)两部分组成。 Media Type 设定后面规则生效的展示类型,包括all(全部),screen(屏幕),print(页面打印或打邱预览模式)等等 Media Query 设...
开发HTML5的项目时发现页面元素为一串数字时,IOS手机会默认显示成蓝色字体,并且添加下划线,点击数字时会提示是否识别为手机号。 解决此问题的方法很简单,在head标签中添加下面的meta标记即可解决。
javascript的style属性只能获取内联样式,对于外部样式和嵌入式样式需要用currentStyle属性。但是,currentStyle在FIrefox和Chrome下不支持,需要用getComputedStyle 1、getComputedStyle是? getComputedStyle是一个可以获取当前元素所有最终使用的CSS属性值。
利用currentStyle()和ComputedStyle() 1 通常用法: balance为类名 window.getComputedStyle(document.querySelector(".
首先来看一下造成Retina边框变粗的原因 其实这个原因很简单,因为css中的1px并不等于移动设备的1px,这些由于不同的手机有不同的像素密度。在window对象中有一个devicePixelRatio属性,他可以反应css中的像素与设备的像素比。
return其实就是return undefined; 1.语法及返回方式 ①返回控制与函数结果 语法为:return 表达式; 语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ②返回控制无函数结果 语法为:return; 在大多数情况下,为事件处理函数如果让其返回false,可以防止默认的事件行为.
在前端开发中我们常常需要从一个跳到另一个页面,并且将当前页面的数据传递过去,总结一下我的方法: 1 通过URL传值,不过有个缺点就是传输的值不能太大,因为浏览器对与URL的长度是有限制的。 首先定义getQueryString方法 function getQueryString(name) { ...
首先,来看一下关于Android home键和back键区别 back键 Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来,销毁当前Activity。
关于原生JS元素怎么取消事件,有3种方式 方法1:removeEventListener 案例: div 元素添加了 onmousemove 事件句柄,在你移动鼠标时会显示随机数。 点击按钮移除 DIV 的事件句柄。
1.YYYY-MM-DD function formatDate(date, pattern) { if(typeof pattern == 'undefined'){ pattern = 'yyyy-MM-dd';} var str = '';if (date instanceof Date) { var year = date.
通过knockout数据绑定的DOM元素,通过chrome控制台打断点知道,DOM元素会被暂时隐藏,使用document.querySelector()是获取不到的,会显示null,直到数据绑定完成才会出现。
如果一个DOM元素包含多个类名,其中的两个类名的属性产生冲突,并不是根据html中类名的顺序来决定DOM元素的属性, 而是根据css样式中的顺序来决定DOM元素的属性,它取决于css样式表中后读取到的属性。
@charset "utf-8"; * { -webkit-box-sizing: border-box; box-sizing: border-box; } //禁止文本缩放 字体设置 取消touch高亮效果 html { width: 100%; height: ...
主要基本区别: 1.GIT是分布式的,SVN不是: 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统。
CSS样式初始化分为PC端和移动APP端 1.PC端:使用Normalize.css Normalize.css是一种CSS reset的替代方案。 我们创造normalize.css有下面这几个目的: 保护有用的浏览器默认样式而不是完全去掉它们 一般化的样式:为大部分HTML元素提供 修复浏览器自身的bug并保证各浏览器的一致性 优化CSS可用性:用一些小技巧 解释代码:用注释和详细的文档来 Normalize.css支持包括手机浏览器在内的超多浏览器,同时对HTML5元素、排版、列表、嵌入的内容、表单和表格都进行了一般化。
背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿。 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1)首先,选取一款手机的屏幕宽高作为基准(以前是iPhone4的320×480,现在更多的是iphone6的375×667)。
为什么要了解浏览器加载、解析、渲染这个过程? 了解浏览器如何进行加载,我们可以在引用外部样式文件,外部js时,将他们放到合适的位置,使浏览器以最快的速度将文件加载完毕。 了解浏览器如何进行解析,我们可以在构建DOM结构,组织css选择器时,选择最优的写法,提高浏览器的解析速率。
1 浏览器如何识别你的选择器 首先我们需要清楚,浏览器是如何读取选择器,以识别样式,并将相应的样式附于对应的HTML元素,达到美化页面的效果。Chris Coyier曾在《Efficiently Rendering CSS》一文中说过“浏览器读取你的选择器,遵循的原则是从选择器的右边到左边读取。
1.top该变更永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令,就可以用top变量。 2.openeropener用于在window.open的页面引用执行该window.open方法的的页面的对象。
问题描述: 在html页面中获得后台传过来的一个时间并显示在页面上,我用getFullYear() ,getMonth(),getDate()分别获得了年月日在电脑上和三星手机上页面都能正确的显示时间,而苹果手机确显示NaN.NaN.NaN。
本文实例讲述了js事件监听器用法。分享给大家供大家参考。具体分析如下: 1、当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事件发生时,只会执行最后绑定的方法。
this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如, function test(){ this.x = 1; } 随着函数使用场合的不同,this的值会发生变化。
回调函数 回调函数是一种以参数形式传递给另一个函数的函数。 所谓的回调函数就是指将一个函数的指针(地址),也就是JavaScript中函数的函数名(JavaScript没有像C那样的指针)作为参数传递给另一个函数,当在调用这个参数时,就是调用这个参数指向的函数,这就是回调函数。
会覆盖页面的情况 1 蚂蚁部落 window.onload=function(){ document.write("分享互助"); } 蚂蚁部落欢迎您 从以上代码的可以看出document.
方法一: var a; //全局变量 function test(){ var b=20; //局部变量 return b; //返回局部变量的值 }; a=test(); //将函数返回值赋给全局变量a alert("全局变量a的值是: "+a); 方法二: var a=0;//全局变量...
两段JS代码的区别: var a = "Hello"; function test(){ var a; alert(a); a = "World"; alert(a); } var a = "Hello"; f...
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。
call()和apply()方法 1.方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。
代码块: JS中的代码块是指由标签分割的代码段。JS是按照代码块来进行编译和执行的,代码块间相互独立(即就算代码块1出错,但不影响代码块2的加载和执行),但变量和方法共享。 案例:2个代码块 console.log("这是代码块一"); console.log ("这是代码块二"); HTML页面中JS的加载原理: 在加载HTML页面的时候,当浏览器遇到内嵌的JS代码时会停止处理页面,先执行JS代码,然后再继续解析和渲染页面。
JavaScript是怎么来进行解析的吗?它的执行顺序又是如何的呢?在了解这些之前,我们先来认识几个重要的术语: 1、代码块 JavaScript中的代码块是指由标签分割的代码段。例如: alert("这是代码块一"); alert("这是代码块二"); JS是按照代码块来进行编译和执行的,代码块间相互独立,但变量和方法共享。
(1)SyntaxError SyntaxError是解析代码时发生的语法错误 // 变量名错误 var 1a; // 缺少括号 console.log 'hello'); (2)ReferenceError ReferenceError是引用一个不存在的变量时发生的错误。
为 元素添加 class: document.getElementById("myDIV").classList.add("mystyle"); 为 元素添加多个类: document.getElementById("myDIV").
区别描述如下: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内的文本 outerText 设置(包括标签)或获取(不包括标签)对象的文本 示例代码 ...
cmd是什么? 对于程序员而言,cmd命令提示符是windows操作系统下一个比较重要的工具。对于程序员而言,为了追求更高的效率而抛弃花俏的界面已然是一件很常见的行为,截止到目前的,全世界仍有大量的服务器还使用着单一的命令行界面。
javascript中的for循环和for...in循环还是有些区别的,比如定义一个数组,然后用for..in循环输出 var array=[1,2,3,4,5,6]; for(var s in array) { console.log(s+' '); } 输出的结果是0 1 2 3 4 5 竟然不是输出1-6。
1.Javascript删除节点 在Javascript中,只提供了一种删除节点的方法:removeChild()。 removeChild() 方法用来删除父节点的一个子节点。 语法:parent.removeChild(thisNode) 例子1 var list=document.