文档库 最新最全的文档下载
当前位置:文档库 › JS基础帮助文档

JS基础帮助文档

JS基础帮助文档
JS基础帮助文档

JS基础帮助文档

JavaScript提供了在字符串中查找子串的函数indexOf()、lastIndexOf()、search(),还提供了字符串的替换函数replace(),而这些函数没有在数组对象Array中实现。

为了让Array也支持以上方法,我们可以对Array对象原型进行修改,增加了相应函数。让这些函数和String对象的函数同名且语法相近,以方便我们使用。下面做一些简单介绍,读者也可根据需要自己定义其它方法。

//判断一个字符串是否包含另一个字符串,substr:子字符串,start:开始位置

Array.prototype.indexOf=function(substr,start){

var ta,rt,d='\0';

if(start!=null){ta=this.slice(start);rt=start;}else{ta=this;rt=0;}

var str=d+ta.join(d)+d,t=str.indexOf(d+substr+d);

if(t==-1)return -1;rt+=str.slice(0,t).replace(/[^\0]/g,'').length;

return rt;

}

//该方法自右向左查找,返回substr在strObj中最后出现的位置,如果没有找到,返回-1。https://www.wendangku.net/doc/5a8011069.html,stIndexOf=function(substr,start){

var ta,rt,d='\0';

if(start!=null){ta=this.slice(start);rt=start;}else{ta=this;rt=0;}

ta=ta.reverse();var str=d+ta.join(d)+d,t=str.indexOf(d+substr+d);

if(t==-1)return -1;rt+=str.slice(t).replace(/[^\0]/g,'').length-2;

return rt;

}

//该方法替换字符串中的reg为rpby,比较常用。

Array.prototype.replace=function(reg,rpby){

var ta=this.slice(0),d='\0';

var str=ta.join(d);str=str.replace(reg,rpby);

return str.split(d);

}

//寻找字符串中的指定子串

Array.prototype.search=function(reg){

var ta=this.slice(0),d='\0',str=d+ta.join(d)+d,regstr=reg.toString();

reg=new RegExp(regstr.replace(/\/((.|\n)+)\/.*/g,'\\0$1\\0'),regstr.slice(https://www.wendangku.net/doc/5a8011069.html,stIndexOf('/')+1)); t=str.search(reg);if(t==-1)return -1;return str.slice(0,t).replace(/[^\0]/g,'').length;

}

以上四种方法均实现了对数组中每个元素都进行查找或替换,这样大家就不用做个循环浪费时间了。

二、Js对字符串的操作。

1、字符串的创建

创建一个字符串有几种方法。最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量。

var myStr = "Hello, String!";

我们在上面脚本创建了字符串,但本质上,它们并不是真正的字符串对象,准确地说,它们是字符串类型的值。要创建一个字符串对象,可使用如下语句:var strObj = new String("Hello, String!");

使用typeof运算符查看会发现,上面的myStr类型为string,而strObj类型为object。

如果想知道字符串的长度,使用其length属性:string.length。

得到字符串的指定位置的字符使用方法:string.charAt(index);

2、字符串的拼接

a).非常简单,就用一个"+"将两个字符串"相加":

var longString = "One piece " + "plus one more piece.";

b).要将多个字符串累积为一个字符串,还可以使用"+="操作符:

var result = "";

result += "My name is Anders"

result += " and my age is 25";

c).要在字符串中添加换行符,需要使用转义字符"\n":

var confirmString = "You did not enter a response to the last " +

"question.\n\nSubmit form anyway?";

var confirmValue = confirm(confirmString);

但这种方法只能用在像警告、确认对话框之类的情况下,如果将这段文本作为HTML内容呈现,就无效了,此时用"
"代替它:

var htmlString = "First line of string.
Second line of string.";

document.write(htmlString);

String对象还提供了方法concat(),它完成与"+"相同的功能:

string.concat(value1, value2, ...)

不过concat()方法显然不如"+"来得直观简洁。

3、访问字符串的子串

使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。

substring()的原型为:string.substring(from, to)

第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to 是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。

如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。

var fullString = "Every dog has his day.";

var section = fullString.substring(0, 4); // section is "Ever".

slice()的原型为:string.slice(start, end)

参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。

还有一个方法是substr(),其原型为:string.substr(start, length)

从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的长度。JavaScript标准不提倡使用该方法。

4、字符串的大小写转换

使用toLowerCase()和toUpperCase()方法:

var city = "ShanGHai";

city = city.toLowerCase(); // city is "shanghai" now.

5、判断两个字符串是否相等

先将用户的输入值全部转换为大写(或小写),然后再行比较:

var name = document.form1.txtUserName.value.toLowerCase();

if(name == "urname")

{

// statements go here.

}

JavaScript有两种相等运算符。一种是完全向后兼容的,标准的"==",如果两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换,考虑下面的赋值语句:

var strA = "i love you!";

var strB = new String("i love you!");

这两个变量含有相同的字符序列,但数据类型却不同,前者为string,后者为object,在使用"=="操作符时,JavaScript会尝试各种求值,以检测两者是否会在某种情况下相等。所以下面的表达式结果为true:strA == strB。

第二种操作符是"严格"的"===",它在求值时不会这么宽容,不会进行类型转换。所以表达式strA === strB的值为false,虽然两个变量持有的值相同。

有时代码的逻辑要求你判断两个值是否不相等,这里也有两个选择:"!="和严格的"!==",它们的关系就类似于"=="和"==="。

讨论:

"=="和"!="在求值时会尽可能地寻找值的匹配性,但你可能还是想在比较前进行显式的类型转换,以"帮助"它们完成工作。比如,如果想判断一个用户的输入值(字符串)是否等于一个数字,你可以让"=="帮你完成类型转换:

if(document.form1.txtAge.value == someNumericVar) { ... }

也可以提前转换:

if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }

如果你比较习惯于强类型的编程语言(比如C#,Java等),那么这里你可以延续你的习惯(类型转换),这样也会增强程序的可读性。

有一种情况需要注意,就是计算机的区域设置。如果用"<"和">"来比较字符串,那么JavaScript 把它们作为Unicode来比较,但显然,人们在浏览网页时不会把文本当作Unicode来阅读:) 比如在西班牙语中,按照传统的排序,"ch"将作为一个字符排在"c"和"d"之间。localeCompare()

提供了一种方式,可以帮助你使用默认区域设置下的字符排序规则。

var strings; // 要排序的字符串数组,假设已经得到初始化

strings.sort(function(a,b) { return a.localeCompare(b) }); // 调用sort()方法进行排序

6、字符串的查找

使用string的indexOf()方法:

strObj.indexOf(subString[, startIndex])

strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,startIndex是可选的,表示查找的开始位置(基于0的索引),如果startIndex省略,则从strObj开始处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索引,则从最大索引处开始。indexOf()返回strObj中subString的开始位置,如果没有找到,则返回-1。在脚本中,可以这么使用:

if(largeString.indexOf(shortString) != -1)

{

// 如果包含,进行相应处理;

}

也许一个字符串会包含另一字符串不止一次,这时第二个参数startIndex也许会派上用场,下面这个函数演示如何求得一个字符串包含另外一个字符串的次数:

function countInstances(mainStr, subStr)

{

var count = 0;

var offset = 0;

do

{

offset = mainStr.indexOf(subStr, offset);

if(offset != -1)

{

count++;

offset += subStr.length;

}

}while(offset != -1)

return count;

}

String对象有一个与indexOf()对应的方法,lastIndexOf():

https://www.wendangku.net/doc/5a8011069.html,stIndexOf(substring[, startindex])

strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,startIndex是可选的,表示查找的开始位置(基于0的索引),如果startIndex省略,则从strObj末尾处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索引,则从最大索引处开始。该方法自右向左查找,返回subString在strObj中最后出现的位置,如果没有找到,返回-1。

7、在Unicode值和字符串中的字符间转换

问题:

获得一个字符的Unicode编码值,反之亦然。

解决方案:

要获得字符的Unicode编码,可以使用string.charCodeAt(index)方法,其定义为:

strObj.charCodeAt(index)

index为指定字符在strObj对象中的位置(基于0的索引),返回值为0与65535之间的16位整数。例如:

var strObj = "ABCDEFG";

var code = strObj.charCodeAt(2); // Unicode value of character 'C' is 67

如果index指定的索引处没有字符,则返回值为NaN。

要将Unicode编码转换为一个字符,使用String.fromCharCode()方法,注意它是String对象的一个"静态方法",也就是说在使用前不需要创建字符串实例:

String.fromCharCode(c1, c2, ...)

它接受0个或多个整数,返回一个字符串,该字符串包含了各参数指定的字符,例如:

var str = String.fromCharCode(72, 101, 108, 108, 111); // str == "Hello"

三、Js对数组的操作

1、数组的创建

var arrayObj = new Array();//创建一个数组

var arrayObj = new Array([size]);//创建一个数组并指定长度,注意不是上限,是长度

var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);创建一个数组并赋值

要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。

2、数组的元素的访问

var testGetArrValue=arrayObj[1]; //获取数组的元素值

arrayObj[1]= "这是新值"; //给数组元素赋予新的值

3、数组元素的添加

arrayObj.push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度

arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度

arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组

的指定位置,插入位置的元素自动后移,返回""。

4、数组元素的删除

arrayObj.pop(); //移除最后一个元素并返回该元素值

arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移

arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素

5、数组的截取和合并

arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括end 对应的元素,如果省略end 将复制start 之后的所有元素

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

6、数组的拷贝

arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向

arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7、数组元素的排序

arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址

arrayObj.sort(); //对数组元素排序,返回数组地址

8、数组元素的字符串化

arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用separator 隔开。

toLocaleString 、toString 、valueOf:可以看作是join的特殊用法,不常用

9、length 属性

Length属性表示数组的长度,即其中元素的个数。因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。和其他大多数语言不同的是,JavaScript数组的length

属性是可变的,这一点需要特别注意。当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。下面是演示改变length属性的例子:

var arr=[12,23,5,3,25,98,76,54,56,76];

//定义了一个包含10个数字的数组

alert(arr.length); //显示数组的长度10

arr.length=12; //增大数组的长度

alert(arr.length); //显示数组的长度已经变为12

alert(arr[8]); //显示第9个元素的值,为56

arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃

alert(arr[8]); //显示第9个元素已经变为"undefined"

arr.length=10; //将数组长度恢复为10

alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"

由上面的代码我们可以清楚的看到length属性的性质。但length对象不仅可以显式的设置,它也有可能被隐式修改。JavaScript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素(指索引超过或等于length的元素),这时,length属性的值将被设置为所使用元素索引的值加1。例如下面的代码:

var arr=[12,23,5,3,25,98,76,54,56,76];

alert(arr.length);

arr[15]=34;

alert(arr.length);

代码中同样是先定义了一个包含10个数字的数组,通过alert语句可以看出其长度为10。随后使用了索引为15的元素,将其赋值为15,即arr[15]=34,这时再用alert语句输出数组的长度,得到的是16。无论如何,对于习惯于强类型编程的开发人员来说,这是一个很令人惊讶的特性。事实上,使用new Array()形式创建的数组,其初始长度就是为0,正是对其中未定义元素的操作,才使数组的长度发生变化。

由上面的介绍可以看到,length属性是如此的神奇,利用它可以方便的增加或者减少数组的容量。因此对length属性的深入了解,有助于在开发过程中灵活运用。

10、prototype 属性

返回对象类型原型的引用。prototype 属性是object 共有的。

objectName.prototype

objectName 参数是object对象的名称。

说明:用prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。

对于数组对象,以以下例子说明prototype 属性的用途。

给数组对象添加返回数组中最大元素值的方法。要完成这一点,声明一个函数,将它加入Array.prototype,并使用它。

function array_max( )

{

var i, max = this[0];

for (i = 1; i < this.length; i++)

{

if (max < this[i])

max = this[i];

}

return max;

}

Array.prototype.max = array_max;

var x = new Array(1, 2, 3, 4, 5, 6);

var y = x.max( );

该代码执行后,y 保存数组x 中的最大值,或说6

Javascript弹窗代码大全(收集)

弹窗代码大全(收集) 以下包括强制弹窗 24小时IP弹窗延时弹窗退弹等 我们使用cookie来控制一下就可以了。 首先,将如下代码加入主页面html的区: 然后,用(注意不是openwin而是loadpop啊!)替换主页面中原有的这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的pop-only-once! 写到这里弹出窗口的制作和应用技巧基本上算是完成了,俺也累坏了,一口气说了这么多,希望对正在制作网页的朋友有所帮助俺就非常欣慰了。 需要注意的是,js脚本中的的大小写最好前后保持一致。 3.一个强制弹窗代码 一个强制弹窗代码 /**

Process Monitor 中文帮助文档

Process Monitor 帮助文档 【介绍】 Process Monitor(进程监视器)是一个Windows下的高级监视工具,可以实时显示文件系统、注册表和进程/线程的活动。它将Sysinternals以前的两个实用程序Filemon(文件监视器)和Regmon(注册表监视器)结合在一起,并且添加了大量的改进功能,包括丰富的非破坏性的过滤器,全面的事件属性——如会话ID和用户名,可靠的进程信息,对每个操作带有集成的调试符号支持的完整线程堆栈,同步记录日志文件等等。Process Monitor独特的强大功能将使它成为你在系统故障排除和恶意软件查杀中使用的核心实用程序。 Process Monitor可以在Windows 2000 SP4 with Update Rollup 1、Windows XP SP2、Windows Server 2003 SP1、Windows Vista,以及64位版本的Windows XP、Windows Server 2003 SP1和Windows Vista等系统上运行。(译者注:Process Monitor不支持Windows 98、Windows NT等以前的系统,不过可以使用Filemon和Regmon来实现它的部分功能。) 【在Filemon和Regmon基础上的改进】 Process Monitor的用户界面和选项与Filemon和Regmon很相似,但它是从头全部重写的,并且包括许多重大改进,例如: (此处引用自wbpluto的汉化版说明) ? 监视进程和线程的启动和退出,包括退出状态代码 ? 监视映像(DLL 和内核模式驱动程序) 加载 ? 捕获更多输入输出参数操作 ? 非破坏性的过滤器允许你自行定义而不会丢失任何捕获的数据 ? 捕获每一个线程操作的堆栈,使得可以在许多情况下识别一个操作的根源 ? 可靠捕获进程详细信息,包括映像路径、命令行、完整性、用户和会话ID等等 ? 完全可以自定义任何事件的属性列 ? 过滤器可以设置为任何数据条件,包括未在当前视图中显示的 ? 高级的日志机制,可记录上千万的事件,数GB的日志数据 ? 进程树工具显示所有进程的关系

API接口调用说明及示例(第四次修订)

产品/项目名称Product/Project Name 保密级别Confidentiality Level eYou邮件系统机密 产品/项目版本Product/Project Version 最后更新日期Last Update 81032014-09-12 eYou邮件系统V8接口文档 北京亿中邮信息技术有限公司 All Rights Reserved 版权所有侵权必究 仅供内部使用

Revision Record 修订记录

目录 1 API接口简介------------------------------------------------------------------------------------------------------- 3 2 API认证概述------------------------------------------------------------------------------------------------------- 4 认证方式的分类 --------------------------------------------------------------------------------------------- 4认证方式的选择 --------------------------------------------------------------------------------------------- 5认证原理 ------------------------------------------------------------------------------------------------------- 5 3 认证方法详解及示例-------------------------------------------------------------------------------------------- 5 OAuth ----------------------------------------------------------------------------------------------------------- 5 eYouAuth ------------------------------------------------------------------------------------------------------- 5 SSO API的eYouAuth认证方法:----------------------------------------------------------------- 5 Feed API的eYouAuth认证方法: --------------------------------------------------------------- 7 申请会话Token:------------------------------------------------------------------------------------- 8 4 API接口调用示例 ---------------------------------------------------------------------------------------------- 10 Feed API调用----------------------------------------------------------------------------------------- 10 资源概述 ---------------------------------------------------------------------------------------------- 10 以用户的增删改查为例,示例各种Feed API调用步骤--------------------------------- 11 5 附表 ---------------------------------------------------------------------------------------------------------------- 13 1 API接口简介 API指eYou邮件系统所提供的接口。 调用接口流程图:

js基础知识

Js1k:用1k的代码做出炫目的效果。代码扩写 犀牛书 微信公众号:前端大全 1. ***变量 2. ***数据类型 一.***变量:内存中存储*一个*数据的存储空间,再起一个名字 何时使用:程序中反复使用的数据,都要先保存在变量中,再参与运算 如何使用:声明赋值取值 1. 声明:在内存中创建一个新变量 如何声明:var 变量名; 仅声明,但暂未赋值,默认值为undefined 变量命名:1. 不能以数字开头,仅能包含字母,数字和下划线 2. 不能用保留字:js中已经预先使用的关键字 比如:name X 3. 见名知意 4. 驼峰命名:第一个单词首字母小写, 之后每个单词首字母大写: 比如:backgroundColor,listStyleType 2. 赋值:将等号*右边*的数据,保存到等号*左边*的变量中 如何赋值:变量名=值;il *对已经包含值的变量赋新值,新值会替换旧值* 建议:1. 在声明同时,初始化变量的值 如何在声明同时初始化:var 变量名=值; 3. 取值:只要使用变量名,在运行时,会被自动替换为变量中的值 特殊情况:3种: 1. 只声明,但未赋值的变量,可任意使用 比如:var hb; console.log(hb); //undefined 2. 从未声明的变量,不能使用(取值)! 报错:ReferenceError: XXX is not defined 3. 未声明的变量,却可赋值!——其实和var不一样 强烈建议:必须用var声明变量 ***声明提前:在程序正式*执行前*,都会将var声明的变量提前到*当前脚本块*的顶部集中声明。再开始执行程序。***赋值留在原地*** 常量:一旦初始化,值不能改变的量 何时使用:程序中,一旦定义不可擅自改变的值,都要用常量保存 如何创建:const 常量名=值; 用作常量的名称,都要大写字母 强行修改常量的值,不会报错,但也无法修改成功!

javascript常用代码大全

Javascript常用代码大全 //打开模式对话框 //返回模式对话框的值 function okbtn_onclick() { var commstr=''; window.returnValue=commstr; window.close() ; } okbtn_onclick() //全屏幕打开IE 窗口 var winWidth=screen.availWidth ; var winHeight=screen.availHeight-20; window.open("main.aspx","surveyWindow","toolbar=no,wid th="+ winWidth +",height="+ winHeight +",top=0,left=0,scrollbars=yes,resizable=yes,center:yes,statu sbars=yes"); //脚本中中使用xml function initialize() { var xmlDoc var xslDoc xmlDoc = new ActiveXObject('Microsoft.XMLDOM') xmlDoc.async = false; xslDoc = new ActiveXObject('Microsoft.XMLDOM') xslDoc.async = false; xmlDoc.load("tree.xml") xslDoc.load("tree.xsl") folderTree.innerHTML = xmlDoc.documentElement.transformNode(xslDoc) } 一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数(用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如(13:04:06) 2.2 短日期,形如(2003-12-05) 2.3 长时间,形如(2003-12-05 13:04:06) 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 4.2 判断字符由字母和数字组成。 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 5.2 判断ie的版本 5.3 判断客户端的分辨率 6、结合类 6.1 email的判断。 6.2 手机号码的验证 6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果(图像,像手表) 2、表单类 2.1 自动生成表单 2.2 动态添加,修改,删除下拉框中的元素 2.3 可以输入内容的下拉框 2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送) 3、打印类 3.1 打印控件 4、事件类 4.1 屏蔽右键 4.2 屏蔽所有功能键 4.3 --> 和<-- F5 F11,F9,F1 4.4 屏蔽组合键ctrl+N 5、网页设计类 5.1 连续滚动的文字,图片

Vue.js基础知识汇总

Vue.js 专注于MVVM 模型的ViewModel 层。它通过双向数据绑定把View 层和Model 层连接了起来。Vue.js和其他库相比是一个小而美的库,作者的主要目的是通过一个尽量简单的API 产生可反映的数据绑定和可组合的视图组件,感觉作者的思路非常清晰。 介绍 vue.js 是用来构建web应用接口的一个库 技术上,Vue.js 重点集中在MVVM模式的ViewModel层,它连接视图和数据绑定模型通过两种方式。实际的DOM操作和输出格式被抽象的方式到指令(Directives)和过滤器(Filters) 在哲学领域内,尽量让MVVM数据绑定API尽可能简单。模块化和可组合性也是重要的设计考虑。vue不是一个全面的框架,它被设计成简单的和灵活的。你可以用它快速原型,或混合和匹配与其他库定义前端堆栈。 Vue。js的API是参考了AngularJS、KnockoutJS Ractive.js Rivets.js。尽管有相似之处,我相信Vue.js提供一个有价值能够让你在现在的一些现有框架中舍取其价值即使你已经熟悉其中的一些术语,建议您通过以下概念的概述,因为你的这些术语的概念可能在Vue.js的下文中有所不同 概念概述 ViewModel 一个对象,同步模型和视图. 在Vue.js中,ViewModels是实例化的Vue的构造器或者是它的子类 var vm = new Vue({ /* options */ }) 这是主要的对象,你会与作为开发人员在使用Vue.js交互。更多细节请参阅Class: Vue. View 用户看到的实际HTML / DOM vm.$el // The View 当使用Vue.js时候,除了自己自定义的指令你几乎不会触碰到DOM的操作,当数据更新后视图的更新将会自动的触发,视图的更新可以很精确的到每一个testNode节点,他们也批处理和异步执行从而提供更好的性能。 Model 这是一个略微修改的Javascript对象 vm.$data // The Model 在Vue.js中,模型只是简单的Javascript对象,数据对象,你能够操控他们的属性和视图模型,观察他们的从而能获取通知后更改。Vue.js在data对象胡总用ES5的getter/setter 把属性转化了,它允许直接操作而不需要脏检查。 data对象在适当的时候会产生突变,所以修改它与通过引用修改vm.$data是一样的效果。这也方便了多个ViewModel实例观察同一块数据。 技术细节请看Instantiation Options: data. Directives 私有的HTML属性是告诉Vue.js做一些关于DOM的处理 <div v-text="message"></div> 这里的div元素有一个v-text的指令,值是message.意思是告诉Vue.js 保持这个div节点的内容与viewMode中的message属性同步 指令可以封装任意DOM操作。例如v-attr 操作一个属性元素,v-repeat克隆基于数组的

JS中的常用语句

1.document.write( " "); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document- >html- >(head,body) 4.一个浏览器窗口中的DOM顺序是:window- >(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById( "表单中元素的ID號 ").name(或value) 6.一个小写转大写的JS: document.getElementById( "output ").value = document.getElementById( "input ").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:( " " 变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用號. 12.JS中的比较操作符有:==等于,!=不等于, >, >=, <. <= 13.JS中声明变量使用:var来进行声明 14.JS中的判定语句结构:if(condition){}else{} 15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是:break 17.JS中的函数定义:function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 20.状態栏的设置:window.status= "字符 "; 21.弹出提示信息:window.alert( "字符 "); 22.弹出確认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href= "URL " 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符: = 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i

java中文帮助文档

所有类 chm格式可加Q 1281110301索要AbstractAction AbstractBorder AbstractButton AbstractCellEditor AbstractCollection AbstractColorChooserPanel AbstractDocument AbstractDocument.AttributeContext AbstractDocument.Content AbstractDocument.ElementEdit AbstractExecutorService AbstractInterruptibleChannel AbstractLayoutCache AbstractLayoutCache.NodeDimensions AbstractList AbstractListModel AbstractMap AbstractMethodError AbstractPreferences AbstractQueue AbstractQueuedSynchronizer AbstractSelectableChannel AbstractSelectionKey AbstractSelector AbstractSequentialList AbstractSet AbstractSpinnerModel AbstractTableModel AbstractUndoableEdit AbstractWriter AccessControlContext AccessControlException AccessController AccessException Accessible AccessibleAction AccessibleAttributeSequence AccessibleBundle AccessibleComponent AccessibleContext AccessibleEditableText AccessibleExtendedComponent

API接口调用要求

1.客户登录验证和信息获取:VerifyCustomerValid 输入:客户用户名(member_name) 、密码(member_password)、邮箱(comm_email)、手机(mobile_phonel),返回:1-成功;0-失败,信息内容:客户的种子、名称、种类、地址、电话、手机、邮箱、积分等相关自定义启用的息。 例子程序: http://localhost:8888/crm/apidemo/customer/VerifyCustomerValid.htm is_success 1 成功0 失败!返回那些字段请参考用户自定义界面。 客户具体字段信息请参考客户附录 2.客户注册登记:RegisterCustomer 输入:客户相关字段信息、客户类型(公共客户:默认、潜在客户、渠道客户。。。。。),结果:将客户的相关注册信息在CRM中做登记,并返回:1-成功,0-失败,失败原因例子程序:http:// localhost:8888/crm/apidemo/customer/RegisterCustomer.htm 客户具体字段信息请参考客户附录 3.客户信息唯一性检查:VerifyCustomerUnique 输入:可按客户用户名(member_name)、邮箱(comm_email)、手机(mobile_phonel) 输出:如果已存在,返回:1;如果不存在,返回:0:例子程序: http://localhost:8888/crm/apidemo/customer/VerifyCustomerUnique.htm is_success 存在1 , 不存在0! 客户具体字段信息请参考客户附录 4.客户下单:SubmitOrder 输入:订单的明细(产品名称、数量、单价、金额等),订单金额、客户名称、及订单其它字段; 例子程序:http:// localhost:8888/crm/ apidemo / order/SubmitOrder.htm 1成功,-1 找不到客户,-2产品信息出错,找不到产品。-3 新增订单时失败!(可能是某些字段过长或者查看CRM系统日志) 5.订单查询:InquireOrder 输入:客户编号或客户种子、客户名称,订单时间范围,订单主题,订单号 输出:客户订单列表 例子程序:http://localhost:8888/crm/apidemo/order/InqueryOrder.htm 6.订单明细查询:InquireOrderDetail 输入:订单种子、订单编号 输出:订单产品明细列表 例子程序:http://localhost:8888/crm/apidemo/order/InqueryOrderDetail.htm 7.产品列表查询:InquireProduct

spring-3.1.0中文版api帮助文档

Spring 3.x权威开发指南:实施Java EE 6 的利器 2011年8月31日

目录 序 ............................................................................................................................................VIII 前言 ........................................................................................................................................... X 1借助Spring 3.1实施Java EE 6 . (1) 1.1Java EE 6编程模型讨论 (1) 1.1.1Java EE 6够敏捷,No! (1) 1.1.2盘旋于具体与抽象之间 (2) 1.2挖掘Spring 3.1的架构价值 (3) 1.2.1精耕细作于Java EE 6平台 (3) 1.2.2面向Spring的SpringSource Tool Suite集成开发工具 (3) 1.2.3全面拥抱OSGi 4.2 (4) 1.2.4开发者决定一切 (4) 1.3下载及构建Spring 3.1 (5) 1.3.1下载Spring 3.1正式发布版 (5) 1.3.2基于SVN库持续构建Spring源码 (6) 1.4小结 (7) 2控制反转容器 (8) 2.1DI及Spring DI概述 (8) 2.1.1面向Java ME/Java SE的BeanFactory (8) 2.1.2面向Java EE的ApplicationContext (9) 2.2多种依赖注入方式 (9) 2.2.1设值注入 (9) 2.2.2构建器注入 (11) 2.2.3属性注入 (12) 2.2.4方法注入 (12) 2.3借助Autowiring策略智能注入协作者 (13)

基于C#的免费新闻api接口调用代码实例

基于C#的免费新闻api接口调用代码实例 代码描述:基于C#的免费新闻api接口调用代码实例 代码平台:聚合数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using https://www.wendangku.net/doc/5a8011069.html,; using System.IO; using https://www.wendangku.net/doc/5a8011069.html,; using System.Diagnostics; using System.Web; //---------------------------------- // 新闻调用示例代码-聚合数据 // 在线接口文档:https://www.wendangku.net/doc/5a8011069.html,/docs/138 // 代码中JsonObject类下载地址:https://www.wendangku.net/doc/5a8011069.html,/download/gcm32060 21155665/7458439 //---------------------------------- namespace ConsoleAPI { class Program { static void Main(string[] args) { string appkey = "*******************"; //配置您申请的appkey //1.新闻检索 string url1 = "https://www.wendangku.net/doc/5a8011069.html,/onebox/news/query"; var parameters1 = new Dictionary(); parameters1.Add("q", ""); //需要检索的关键字,请UTF8 URLENCOD E parameters1.Add("key", appkey);//你申请的key

web前端基础知识

2012-5-15 [成就源于整理] | oush [深圳残 友动漫] 静态页面效果代码

目录 1.获取当前日期和星期 (2) 2.繁简中文转换 (2) 3.支持ff和ie的滤镜效果样式 (2) 4.让ie6实现li的hover事件代码 (3) 5.首页菜单效果 (3) 6.鼠标经过时菜单显示不一样的背景js (5) 7.banner效果 (6) 8.兼容两种浏览器,通常方法 (6) 9.用样式实现div的圆角 (7) 10.如何在ie6及更早浏览器中定义小调试的容器 (7) 11. 如何解决IE6及更早浏览器浮动时产生双倍边距的BUG (7) 12. 如何在IE6及更早浏览器下模拟min-height效果 (7) 13.如何解决按钮在IE7及更早浏览器下随着value增多两边留白也随着增加的问题.. 8 14.如何解决IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产生的空白间隙的BUG (8) 15.如何解决IE6下的文本溢出BUG (8) 16.如何使文本溢出边界显示为省略号 (8) 17. 如何使连续的长字符串自动换行 (9) 18.如何让已知高度的容器在页面中水平垂直居中 (9) 19. 如何做1像素细边框的table (9) 20. 如何在点文字时也选中复选框或单选框 (9) 21.渐变背景色css3 (9) 22.加载在线jquery (10) 23.鼠标经过时宽度加长 (10) 24.跳转下拉菜单 (10) 25.去除超链接虚线框 (10) 26.显示子菜单封装类 (10) 27. 实现图片延迟加载 (11) 28.动态获取当前时间 (11) 29.百度地图API,地图生成工具 (12) 30.返回到顶部 (12) 31.刷新页面的js方法 (13) 32.固定层div样式 (13) 33.高级样式 (13) 34.激活hasLayout (14)

API接口文档

API接口文档 最后更新日期:2013-05-16 一、添加域名接口 (6) 1、接口调用地址 (6) 2、传入参数 (6) 3、输出数据 (6) 二、删除域名接口 (7) 1、接口调用地址 (7) 2、传入参数 (7) 3、输出数据 (7) 三、添加用户接口 (8) 1、接口调用地址 (8) 2、传入参数 (8) 3、输出数据 (8) 四、获取用户信息接口 (9) 1、接口调用地址 (9) 2、传入参数 (9) 3、输出数据 (9) 五、搜索用户接口 (10) 1、接口调用地址 (10) 2、传入参数 (10) 3、输出数据 (10) 六、修改用户接口 (11) 1、接口调用地址 (11) 2、传入参数 (11) 3、输出数据 (12) 七、删除用户接口 (13) 1、接口调用地址 (13) 2、传入参数 (13) 3、输出数据 (13) 八、获取邮箱别名接口 (14) 1、接口调用地址 (14) 2、传入参数 (14) 3、输出数据 (14) 九、获取部门列表接口 (15) 1、接口调用地址 (15) 2、传入参数 (15) 3、输出数据 (15) 十、添加部门接口 (17) 1、接口调用地址 (17)

3、输出数据 (17) 十一、修改部门接口 (18) 1、接口调用地址 (18) 2、传入参数 (18) 3、输出数据 (18) 十二、删除部门接口 (19) 1、接口调用地址 (19) 2、传入参数 (19) 3、输出数据 (19) 十三、获取部门成员接口 (20) 1、接口调用地址 (20) 2、传入参数 (20) 3、输出数据 (20) 十四、添加部门成员接口 (21) 1、接口调用地址 (21) 2、传入参数 (21) 3、输出数据 (21) 十五、删除部门成员接口 (22) 1、接口调用地址 (22) 2、传入参数 (22) 3、输出数据 (22) 十六、添加别名接口 (23) 1、接口调用地址 (23) 2、传入参数 (23) 3、输出数据 (23) 十七、修改别名接口 (24) 1、接口调用地址 (24) 2、传入参数 (24) 3、输出数据 (24) 十八、删除别名接口 (25) 1、接口调用地址 (25) 2、传入参数 (25) 3、输出数据 (25) 十九、获取POP接收邮件接口 (26) 1、接口调用地址 (26) 2、传入参数 (26) 3、输出数据 (26) 二十、添加POP接收邮件接口 (27) 1、接口调用地址 (27) 2、传入参数 (27) 3、输出数据 (27) 二十一、修改POP接收邮件接口 (28) 1、接口调用地址 (28)

前端网页设计代码大全

Html网页设计代码 设计第一技术其次: ) ---------------------------------- 1)贴图:<img src="图片地址"> 2)加入连接:<a href="所要连接的相关地址">写上你想写的字</a> 1)贴图: 2)加入连接:写上你想写的字 3)在新窗口打开连接:写上要写的字 消除连接的下划线在新窗口打开连接: 写上你想写的字 4)移动字体(走马灯):写上你想写的字 5)字体加粗:写上你想写的字 6)字体斜体:写上你想写的字 7)字体下划线: 写上你想写的字 8)字体删除线: 写上你想写的字 9)字体加大: 写上你想写的字 10)字体控制大小:

写上你想写的字

(其中字体大小可从h1-h5,h1最大,h5最小) 11)更改字体颜色:写上你想写的字(其中value值在000000与ffffff(16位进制)之间 12)消除连接的下划线:写上你想写的字 13)贴音乐: 14)贴flash: 15)贴影视文件: 16)换行:

总结的Javadoc转换chm帮助文档的四种方法

https://www.wendangku.net/doc/5a8011069.html,/blog/1051688 李顺利 [2010年1月6日] 关键词 Javadoc chm 转换 jd2chm javadoc2chm javadoc2help Javadoc2chm 中文乱码李顺利 前言 朋友,当您在一个项目完成后,是不是需要把你的源码打包并且把注释打成Javadoc交给客户,Eclipse或者MyEclipse自动打成的Javadoc文档都是基于网页格式的,打开是很方便,不过真的用的时候,搜索每个方法或者什么的就很麻烦了,而chm帮助文档格式不但文件小,查阅都很方便,所以网上就出现了很多把Javadoc转换为chm格式的帮助文档的软件/工具或者方法。 自己最近需要真的需要这个方面的需求,查阅了网上很多方法,发现很多都是写的很不详细,对于我这种刚接触的很是不清楚,经过我的学习和理解,现提供从网上总结的Javadoc转换chm帮助文档的四种方法,详细提供各个转换的步骤供大家学习,并且提供英文版本和中文版本Javadoc转换过程中出现的问题,特别是中文的时候出现的乱码现象,也提供一些解决方案。 预处理 转换之前需要了解的是chm是微软公司发布的一种帮助文档格式,所有,要使用下面的方法转换,请先安装HTML Help Workshop(后面简称为HHW)(实际上后面的一些处理有些都是在上面操作的) https://www.wendangku.net/doc/5a8011069.html,/en-us/library/ms669985.aspx,下载完毕后就是安装了,很简单。 还有一个很重要的问题,就是如何把项目打成Javadoc,这有人应该会说,很简单啊,就是使用Eclipse或者Myeclipse的Export功能,是的,这是可以,但是有些小的方面还是需要我们强烈注意的

Javascript弹窗代码大全

Javascript弹窗代码大全(收集) Javascript弹窗代码大全(收集) 2007年08月27日星期一20:56 以下包括强制弹窗24小时IP弹窗延时弹窗退弹等 我们使用cookie来控制一下就可以了。 首先,将如下代码加入主页面html的区: 然后,用(注意不是openwin而是loadpop啊!)替换主页面中原有的这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的pop-only-once! 写到这里弹出窗口的制作和应用技巧基本上算是完成了,俺也累坏了,一口气说了这么多,希望对正在制作网页的朋友有所帮助俺就非常欣慰了。 需要注意的是,js脚本中的的大小写最好前后保持一致。 3.一个强制弹窗代码 一个强制弹窗代码 /** * 用本程序弹出的窗口将不会被广告拦截软件拦截,但有一个缺点:你无法象对window.open 弹出的窗口那样对外观进行定制。 * 你当然也可以在使用前实例化一个ForceWindow对象: * var myWindow = new ForceWindow();

Cinema 4D 汉化帮助文档PDF.pdf

Cinema 4D 汉化帮助文档聚众翻译v2015.09.06 【前言】 这只是一个提议,希望有更多朋友的加入,目的没打算是把这玩意全部汉化完成,其中的困难非一小撮人可以解决的。只想能发动很多的朋友来共同学习,古语有云“眼过千遍不如手过一遍”。 其次,也是因为国内盗版盛行,官方是不会做中文帮助文档。倡议大伙多多支持正版软件以求获得官方中文帮助文档的发布 很早以前R13版本时,CG天下(论坛)曾发动过付费的帮助文档的汉化,最终任务艰巨而放弃(猜的)。我在想象,如果这一次的倡议,参与翻译的同学名字能在这个页面写上一千多位,那么真就是全民汉化的奇迹了,目前也就“呵呵”而已吧。做过总比想了不错的好,不怕失败就怕放弃。 话说回来,校对同学是很重要的,需要对C4D软件很了解,校正其中命令菜单的翻译。然后是翻译,还有不可缺少的编辑同学,翻译完成,需要填写进html文档中。估计会有很多同学不会编辑html,当然,若自己能编辑最好了,你可以独立发布,也可以整理在我发布的这个版本中。 支持的同学再多,也敌不过你的加入。 其中菜单命令的翻译,都是在软件中切换中英文来查找的官方中文命令。希望刚开始能有个严谨的态度吧。虽然我也不会英文,也是通过各种汉化工具来做的,每学习一两条,从此进步速速哒,哈哈。 【汉化方法】 方法有多中,首先打开软件安装目录。可以在桌面图标上右键→打开文件所在的位置。或者在这个目录下“X:\Program Files\MAXON\CINEMA 4D R17\help\US\html 全部都是html文件,三千多个。Ctrl+a 全选,右键→属性 取消“只读”的勾选,这样才能编辑文档。 一、使用 notepad++ 软件修改。全部代码编辑,适合码农,编辑性能卓越,操作指数困难。从C4D中打开帮助面板,选择一个你想翻译的页面。右键→属性 地址栏中“5425.html”便是文件名称。 然后在帮助文档的文件夹中“X:\Program Files\MAXON\CINEMA 4D R17\help\US\html”搜索“5425.html”使用notepad++软件打开。

相关文档