js深入研究之类定义与使用】的更多相关文章

js可以定义自己的类 很有意思 <script type="text/javascript"> var Anim = function() { alert('nihao'); }; Anim.prototype.start = function() { alert('start'); }; Anim.prototype.stop = function() { alert('stop'); }; var myAnim = new Anim(); myAnim.start();…
操作系统:Windows 7 IIS:7.5 ajax.dll现在用的比较少,但是以前的项目有这个,使用的时候很容易出现这个错误,因为总是会遗漏配置. 使用ajax.dll时,js脚本错误,无法调用后台方法-XXX未定义 使用ajax.dll,首先项目引用ajax.dll,然后在customer类中定义方法 /// <summary> /// 得到用户的信息 /// </summary> /// <param name="email"></pa…
js中三种定义变量的方式const, var, let的区别 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 3 console.log('函数外const定义b:' + b);//有输出值 4 // b = 5; 5 // console.log('函数外修改const定义b:' + b);//无法输出 2.var定义的变量可以修改,如果不初始化会输出undefined,不会报错. 1 var a =…
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible"…
js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 ? 1 2 3 4 5 6 7 8 9 10 var tArray = new Array();  //先声明一维 for(var k=0;k<…
function Test002(name, age){ name, age, this.printInfo = function(){ //定义的公有方法 console.log(name, age); } } let test002 = new Test002("weisheng", 32) test002.printInfo() //打印 weisheng 32 function Test003(name, age){ name; age; var printInfo = fun…
<script type="text/javascript"> /* 定义一个Person类 */ function Person(name, age) { this.name = name; this.age = age; } /* 添加两个方法getName getAge */ Person.prototype = { getName: function() { return this.name; }, getAge: function() { return this.…
在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范.该规范明确了模块的基本书写格式和基本交互规则. 在 CMD 规范中,一个模块就是一个文件.代码的书写格式如下: define(factory); define Function define 是一个全局函数,用来定义模块. define define(factory) define 接受 factory 参数,factory 可以是一个函数,也可以是一个对象或字…
通过var object={}  对象字面量,可以叫对象直接量来自定义一个对象 对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象.每次计算对象字面量的时候,也都会计算他的每个属性值.也眩光是说,如果在一个重复调用的函数中的循环体内使用了对象的直接量,它将创建很多新对象,并且每次创建的对象的属性值也有可能不同. 演示代码: <script> var people ={x:1,y:2,z:3} //用字面量定义一个对象,是以名值对的方式来保存的 var student = {…
代码 <script type="text/javascript"> /* 克隆原型得到对象 */ function clone(object) { function F() {} F.prototype = object; return new F; } var Person = { name: 'default name', getName: function() { return this.name; } }; var reader = clone(Person);…
<!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UTF-8"> <title>局部数据</title> <script src="js/jquery-1.11.3.min.js"></script> <script src="js/angular.min.js&…
PHP中: 通过isset(变量名)来判断,定义返回true/未定义返回false JS中: 通过typeof来判断.…
在网上找的 记下来以备不时之需 案例; 本人有一个数组按钮  循环数组按钮 给每个按钮添加click事件 原本以为搞定但是出现了 每个按钮都是数组最后的方法 然后查找问题 发现onclike事件中的i总是最后一个 在网上找的资料: 下面做下分析:因为在for循环里面指定给id i的事件处理程序,也就是onclick那个匿名函数是在for循环执行完成后(用户单击链接时)才被调用的.而调用时,需要对变量i求值,解析程序首先会在事件处理程序内部查找,但i没有定义.然后,又到方法外部去查找,此时有定义,…
函数定义方式: 1.function fun1(){alert("fun1");}  //函数就是一个很特殊的对象.是一个Function的实例.事实上在内存中存储的操作是通过一个键值对来存储的. 2.因为函数是一个对象,所以能够通过例如以下方式定义 var fun2 = fun1;  //通过函数拷贝给fun2完毕赋值,但fun1.fun2这两个引用并没有指向同一个对象(尽管他们指向的对象的内容是一样的). fun1 = function(){alert("fun111&q…
在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Literals): var fnMethodName = function(x){alert(x);} Function()构造函数: var fnMethodName = new Function(‘x','alert(x);') // 由Function构造函数的参数个数可变.最后一个参数写函数体…
来源:JS的函数定义方式以及对声明的提前 以下代码,声明语句会被提前到当前作用域(全局作用域和函数作用域)的顶部.但赋值语句不会提前,依然留在原地 var x = function(){}; var y = 123; 而函数的声明也会提前到作用域的顶部 function f(){} 对以上的总结就是:只要是声明(变量声明或函数声明)就会被提前,但赋值语句不会被提前 以下代码中的y所在的环境,是全局环境,而不是当前 new 所在的环境 new Function('return y');…
js判断变量未定义 控制台输出未定义变量a会报错: 我们打印出a的数据类型是: 我们可以看到未定义变量的数据类型是 "undefined" 所以判断js变量是否未定义的方法就是 typeof a != "undefined" ? true : false;…
在js中,RegExp正则表达式的定义有两种方式:一种是普通方式,另一种是构造函数方式.无论是那种定义正则表达式的方式,它们都会返回RegExp对象. 普通方式定义正则表达式的格式 语法: var 变量名 = /正则表达式/附加参数 1 附加参数是用来扩展表达式含义的,目前有三种附加参数.分别是: g:表达式进行全局匹配i:匹配时不区分英文的大小写m:可以进行多行匹配 其中全局匹配(g)是指,匹配字符串时,直到所有字符串全部查找完成才会停止匹配. 而非全局匹配是指,匹配字符串时,有一处匹配成功或…
1.自定义属性-----JS可以为任何 HTML元素 添加 任意个 自定义属性 方法:元素.属性 = 属性值 如:aBtn[0].abc = 123; 2.添加索引值,匹配数组 for(i=0; i<aBtn.length; i++){     aBtn[i].index = i;      } //想建立“匹配”,“对应”的关系,就用索引值…
有时要根据主表的审批状态来控制子表上的按钮要不要显示,比如我们有一个需求审批通过后就不能再上传文件了. 首先打开Visual Ribbon Editor, 如下图,我们可以利用Enable Rules –> CustomRule 用js来控制按钮是否显示:   js function: 首先用odata取出主表的状态,然后根据主表的状态来判断是否显示: var approvalStatus = null; function controlUpload(){ var marketingPlan =…
1.类扩展 /* EditInPlaceField类 */ /* 扩展函数 */ function extend(subClass, superClass) { var F = function() {}; F.prototype = superClass.prototype; subClass.prototype = new F(); subClass.prototype.constructor = subClass; subClass.superclass = superClass.prot…
<script type="text/javascript"> function Person(name) { this.name = name; } Person.prototype.getName = function() { return this.name; } function Author(name, books) { Person.call(this, name); // 定义:调用一个对象的一个方法,以另一个对象替换当前对象. this.books = bo…
<script type="text/javascript"> var Book = (function() { // 私有静态属性 ; // 私有静态方法 function checkIsbn(isbn) { if(isbn == undefined || typeof isbn != 'string') { return false; } return true; } // 返回构造函数 return function(newIsbn, newTitle, newAut…
<script type="text/javascript"> var Book = function(newIsbn, newTitle, newAuthor) { // implements Publication // 私有属性 var isbn, title, author; // 私有方法 function checkIsbn(isbn) { if(isbn == undefined || typeof isbn != 'string') { return fal…
第一种 function foo() { ; function bar() { a *= ; } bar(); return a; } 第二种 function foo() { ; function bar() { a *= ; return a; } return bar; } 两种效果相同. 调用结果 var baz = foo(); // baz is now a reference to function bar. alert(baz()); // returns 20. alert(b…
<script type="text/javascript"> var Book = function(isbn, title, author) { if(!this.checkIsbn(isbn)){ throw new Error('Book: Invalid ISBN.'); } this.isbn = isbn; this.title = title || 'No title specified'; this.author = author || 'No autho…
四.伪DOM自定义事件 这里的“伪DOM自定义事件”是自己定义的一个名词,用来区分DOM自定义事件的.例如jQuery库,其是基于包装器(一个包含DOM元素的中间层)扩展事件的,既与DOM相关,又不直接是DOM,因此,称之为“伪DOM自定义事件”. //zxx: 下面即将展示的代码目的在于学习与认识,要想实际应用可能还需要在细节上做些调整.例如,下面测试的包装器仅仅只是包裹DOM元素,并非选择器之类:$符号未增加冲突处理,且几个重要方法都暴露在全局环境中,没有闭包保护等. 原型以及new函数构造…
主要为了回调方法,随便把静态言法和实例方法也回顾一下. <script type="text/javascript"> var fun = { //下面是静态方法(第一种方式) f1: function () { alert("这是静态方法 f1()"); }, f2:function(callback){ alert("这是静态方法 f2()"); if(callback && (callback instanceo…
Scoping & Hoisting 例: var a = 1; function foo() { if (!a) { var a = 2; } alert(a); }; foo(); 上面这段代码在运行时会产生什么结果? 尽管对于有经验的程序员来说这只是小菜一碟,不过我还是顺着初学者常见的思路做一番描述: 创建了全局变量 a,定义其值为 1 创建了函数 foo 在 foo 的函数体内,if 语句将不会执行,因为 !a 会将变量 a 转变成布尔的假值,也就是 false 跳过条件分支,alert…
const   var  let区别 1.const 定义的变量不可以修改,而且必须初始化 const a = 3;正确 const a;错误,必须初始化 console.log("函数外const定义a:"+"a"); 有值输出; console.log("函数外修改const定义a"+"a"); 无法输出 2.var 定义的变量可以修改,如果不初始化会输出undefine var a = 1; console.log(&q…