有时候我们需要动态的加入适合的js,因为有时候不需要将所有的js都加载进来,以来提高效率,下面是4种比较常用的方法1、直接document.write <script language="javascript"> document.write("<script src=test.js><\/script>"); </script>2、动态改变已有script的src属性 <script src= id="s1"></script> <script language="javascript"> s1.src="test.js" </script>3、动态创建script元素 <script> var oHead = document.ge...
大家最熟悉的原生js操作样式的方法非DOM中的Style对象莫属了,但是这个方法只能获取和修改html文档中的内联样式,无法操作非内联样式(内部样式和外部样式表)。获取样式1. dom style这个方法只能获取内联样式:var text = document.getElementById(text); var textColor = text.style.color;// 得到textColor的值为 #0002. currentStyle这个方法只适用于IE浏览器,在形式上与element.style相近,区别在于正如currentStyle其名——...
Javascript 性能优化绝不是一种书面的技术,Nicholas 的技术演进列出了10条建议,帮助你写出高效的 JS 代码1. 定义局部变量当一个变量被引用的时候,JavaScript将在作用域链中的不同成员中查找这个变量。作用域链指的是当前作用于下可用变量的集合,它在各种主流浏览器中至少包含两个部分:局部变量的集合和全局变量的集合。简单地说,如果JavaScript引擎在作用域链中搜索的深度越大,那么操作也就会消耗更多的时间。引擎首先从 th...
JavaScript允许你即时的改变CSS样式,这样就可以将用户的眼球吸引到你想他们关注的地方上,并且提供较好的交互体验给力 。JavaScript修改CSS有4种方法:修改节点style(内联样式);改变节点class或id;写入新的css;替换页面中的样式表。几乎所有的功能都可以通过前两种方式实现,并且代码更加清晰、易理解。后面还会说说如何获取元素的真实样式和一个表单中的注意事项。1、修改节点style(内联样式)这种方法权重是最高的,直接写...
javascript支持很多其它各种各样的运算符。i.条件运算符(?:)条件运算符是javascript中的唯一一个三元运算符。通常这个运算符写成"?:",这个运算符拥有三哥操作数,第一个操作数在"?"之前,第二个操作数在“?”和":"之间。第三个操作数早在":"之后,例如 x > 0 ? x : -x; //求x的绝对值条件运算符的操作数可以是任意类型。第一个操作数当成布尔值,如果它是真值,那么将计算第二个操作数,并返回计算结果。赋值如果第一个值操作数...
一、一元运算符 1、delete 运算符:删除对以前定义的对象属性或方法的引用。例如: var o=new Object; o.name="superman"; alert(o.name); //输出 "superman" delete o.name; alert(o.name); //输出 "undefined"删除了name属性,将其设置为undefined(即创建的未初始化的变量的值)。delete不能删除开发者未定义(即ECMAScript定义)的属性和方法。 例如,下面的代码将发生错误:delete o.toString(); 2、void 运算符: 对任何值都...
js判断数组类型的方法方法一之 instanceofinstance,故名思义,实例,例子,所以instanceof 用于判断一个变量是否某个对象的实例,是一个三目运算式---和typeof最实质上的区别a instanceof b?alert("true"):alert("false") //注意b值是你想要判断的那种数据类型,不是一个字符串,比如Array举个栗子:var a=[]; console.log(a instanceof Array) //返回true方法二之 constructor在W3C定义中的定义:constructor 属性返回对创建此对...
js里面包含五种数据类型 number string boolean undefinedobject和函数类型 function看到这里你肯定会问了:我怎么去区分对象,数组和null呢?接下来我们就用到一个利器:Object.prototype.toString.call这是对象的一个原生原型扩展函数,用来更精确的区分数据类型。我们来试试这个玩儿意儿:var gettype=Object.prototype.toStringgettype.call(aaaa)输出 [object String]gettype.call(2222) 输出 [object Numb...
前面的话 Express是一个简洁、灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助开发者创建各种 Web 和移动设备应用。本文将详细介绍express框架 概述 官网对Express的描述,它是一个基于 Node.js 平台,快速、开放、极简的 web 开发框架。优点是易上手、高性能、扩展性强 1、易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步。express对web开发相关的...
本文github仓库:从v1迁移到v2webpack1.x升级2.x1.module.loaders改成了module.rules旧的loaders被新的rules取代,后者允许配置loader以及其他更多项。 module: {- loaders: [+ rules: [ { test: /\.css$/,- loaders: [+ use: [ { loader: "style-loader" }, { loader: "css-loader",- query: {+ options: { modul...
1.字符串方法 str.charAt() //在xx位置处字符是什么 str.toLowerCase() //全转为小写字符 str.toUpperCase() //全转为大写字符 str.indexOf() //xx字符首次出现的位置 str.laseIndexOf() //xx字符最后出现的位置 str.substring() //字符串从哪个位置截取到哪个位置,原数组不变 str.split() //字符串以xx字符分割为数组var arr = If you must say yes, say it with an open heart.; console.log(arr.c...
缓存变量DOM遍历是昂贵的,所以尽量将会重用的元素缓存。// 糟糕h = $(#element).height(); $(#element).css(height,h-20);// 建议$element = $(#element); h = $element.height(); $element.css(height,h-20);避免全局变量jQuery与javascript一样,一般来说,最好确保你的变量在函数作用域内。// 糟糕$element = $(#element); h = $element.height(); $element.css(height,h-20);// 建议var $element = $(#element);var h = $eleme...
通用规范:TAB键用4个空格代替(WINDOWS下TAB键占四个空格,LINUX下TAB键占八个空格;一般用4个空格代替tab,vim,eclipse,np++等都可以设置)。CSS样式属性或者JAVASCRIPT代码后加“;”方便压缩工具“断句”。文件内容编码均统一为UTF-8。CSS、JAVASCRIPT中的非注释类中文字符须转换成unicode编码使用,以避免编码错误时乱码显示。这段代码演示了JavaScript中字符串与Unicode编码的转换:// 为了控制台的演示方便, 变量没有添加 var...
方法一:双层循环,外层循环元素,内层循环时比较值如果有相同的值则跳过,不相同则push进数组Array.prototype.distinct = function(){var arr = this,result = [],i,j,len = arr.length;for(i = 0; i < len; i++){for(j = i + 1; j < len; j++){if(arr[i] === arr[j]){j = ++i;}}result.push(arr[i]);}return result; }var arra = [1,2,3,4,4,1,1,2,1,1,1]; arra.distinct(); //返回[3,4,2,1]方法二:利用splice直接在...
1.1. Array.from()Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。下面是一个类似数组的对象,Array.from将它转为真正的数组。let arrayLike = {0: a,1: b,2: c,length: 3};// ES5的写法var arr1 = [].slice.call(arrayLike); // [a, b, c]// ES6的写法let arr2 = Array.from(arrayLike); // [a, b, c]Array.from([1, 2, 3])// [...