随笔分类 - Javascript
摘要:前言 刚学习EasyUI,在进行到DataGrid加载Json数据时,总是不显示数据.很是崩溃. 折腾了许久,发现是因为和IIS服务器相关,也终于找到了解决办法. 解决方法: 在IIS中配置Json的MimeType类型为application/json,然后jquery使用get方式获取数据,可正常获取,如果使用post获取数据,则会返回405错误.
阅读全文
摘要:1.什么是跨域 我们经常会在页面上使用ajax请求访问其他服务器的数据,此时,客户端会出现跨域问题. 跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合. 例如: URL ...
阅读全文
摘要:客户端操作Cookie主要使用document.cookie 添加Cookie 读取Cookie修改Cookie删除Cookie
阅读全文
摘要:Javascript中可以使用new操作符来创建一个对象,那么系统是如何使用new操作符来创建对象的呢?我们来看下流程: 首先需要定义一个类; 使用new操作符紧跟你所定义的函数来创建一个新的类的实例; 一旦Javascript编译器碰到了new操作符,它就创建了一个空的实例变量,将类中prototype的所有属性和方法复制到这个实例中,并将成员函数中所有的this指向这个新创建的实例; ...
阅读全文
摘要:eval方法: 检查JScript代码,并且执行. 语法: eval(codeString); 参数: codeString是必选项,参数是包含有效的JScript代码的字符串值,这个字符串值将由JScript分析器进行分析和执行. 例子: 结果: 当我们描述的字符串符合JScript代码规范时,使用eval可以执行字符串中的内容.json:json的格式是由大括号和冒号构成的名值对.具体...
阅读全文
摘要:call: 描述: 调用一个对象的一个方法,以另一个对象来替换当前的对象. 语法: call([thisObj[,args1[,args2[args3[,...]]]]]) 参数: thisObj:可选项,可被用作当前对象的对象. args1,args2,args3,argsN:可选项,将被传递的参数. 说明: call方法可以用来代替另一个对象调用方法. call将一个对象的初始上下文转...
阅读全文
摘要:描述: JSON即Javascript Object Natation.它是一种轻量级的数据交换格式,适用于服务器和Javascript的交互. 结构: 1."名称/值"对的集合. 2.值的有序列表 具体形式: 1.对象以"{"开始,以"}"结束. 2.每个名称后面跟一个":". 3.名称/值对之间以","隔开 例子:{name:"www",age:10} 注意: 1.数组是值(value...
阅读全文
摘要:Boolean运算符有3种: 1.逻辑NOT 逻辑NOT由!表示.与逻辑OR和逻辑AND运算符不同的是:逻辑NOT运算符返回的一定是Boolean值. 逻辑NOT运算符的行为如下: 如果运算数是对象,返回false 如果运算数是0以外的其他任何数字,返回false 如果运算数是0,返回true 如果运算数是null,返回true 如果运算数是NaN,返回true 如果运算数是undef...
阅读全文
摘要:判断两个变量是否相等是程序设计中非常重要的运算,若是对原始值进行运算,则比较简单,但涉及到对象,则有点复杂. ECMAScript提供了两套运算符处理这个问题: 等号和非等号处理原始值 全等号和非全等号处理对象 1.等号和非等号 等号由==表示.当且仅当两个运算数相等时,才返回true. 非等号由!=表示.当且仅当两个运算数不相等时,它返回false. 为了确定运算数是否相等,这两个运算符都...
阅读全文
摘要:1.NOT 位运算符NOT由~表示.NOT运算符的实质是对数字求负,然后减1. 位运算符NOT是三步的处理过程. a.把运算符转换成32位数字 b.把二进制形式转换成它的二进制反码 c.把二进制反码转换成浮点数 例子: var num=10; document.write(~num);结果:-112.AND位运算符AND由&表示.直接对数字的二进制形式进行运算.运算规则如下:第一个数字...
阅读全文
摘要:一元运算符只有一个参数,即要操作的对象或值,它们是ECMA中最简单的运算符. 1.delete delete运算符删除对以前定义的对象属性或方法的引用. delete运算符不能删除开发者未定义的属性和方法. 注意:任何对象都有toString()方法,但是此时,若使用delete运算符,也是不可以的,因为不是开发者定义的. 例如: var person = new Object(); perso...
阅读全文
摘要:在ECMAScript中,变量可以存放两种类型的值,即原始值和引用值. 原始值(primitive value): 原始值是固定而简单的值,是存放在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置. 引用值(reference value): 引用值则是比较大的对象,存放在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(pointer),指向存储对象的内...
阅读全文
摘要:使用预定义对象的能力只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自定义的类和对象.有以下几种创建方式: 1.工厂方式 我们可以这样定义一辆车: var car1 = new Object; car1.color='red'; car1.doors=4; car1.showColor=function(){ return this.color; }此时,我们创建了一辆车,但是,当我们...
阅读全文
摘要:为什么使用混合模式实现继承? 实现对象的继承,我们可以通过对象冒充,也可以通过原型链的方式. 但是,对象冒充就要求必须使用构造函数方式,而原型链则无法使用构造函数,那么,我们就综合一下,采区混合模式来实现继承. 创建类的最好方式,是用构造函数定义属性,使用原型方式定义方法.这样的机制同样适用于继承机制,用对象冒充来继承构造函数的属性,用原型链继承prototype对象的方法.具体见下例: 代码...
阅读全文
摘要:原理: 构造函数使用this关键字给所有属性和方法赋值.因为构造函数只是一个函数,所以可使ClassA的构造方法称为ClassB的方法,然后调用它. ClassB就会收到ClassA的构造方法中定义的属性和方法. 例子: function ClassA(name){ this.name=name; this.getName=function(){ return this.name; } } fu...
阅读全文
摘要:prototype对象是个模版,要实例化的对象都以这个模版为基础. 总而言之,prototype对象的任何属性和方法都会被传递到那个类的所有实例,原型链利用这种功能来实现继承机制. 查看以下代码: function ClassA(){ } ClassA.prototype.color='red'; ClassA.prototype.getColor=function(){ document.wri...
阅读全文
摘要:节点的类型可以检查节点的nodeType来判断,经常会遇到以下三个值: 1.元素(nodeType=1) 匹配xml文件中的大部分元素.如<li>,<a>,<p> 2.文本(nodeType=3) 匹配文档中所有的文本块. 3.文档(nodeType=9) 匹配元素的根元素. 对于元素的节点类型,还可以通过document.ELEMENT_NODE,do...
阅读全文
摘要:如图: 如何实现图中效果: 1.在文本框中给出提示 2.当点击输入时,提示消失 3.当点击文本框,但未输入数据,失去焦点时仍给出提示. 实现过程如下: 1.一个span和一个文本框 2.设置span的文本内容为提示内容 3.设置文本框的的样式和事件. 主要就是设置文本框的位置,设置绝对定位,定位在span的上面,然后设置文本框的背景颜色为transparent即可. 具体代码如下: <h...
阅读全文
摘要:常用的事件类型可以分为以下几类: 1.鼠标事件 追踪鼠标当前定位的事件:mouseover,mouseout 追踪鼠标点击的事件:mouseup,mousedown,click 2.键盘事件 负责追踪键盘敲击和其上下文. 有3种类型:keyup,keydown,keypress 3.UI事件 用来追踪用户使用页面的某一方面是否覆盖了另一方面. 例如:追踪输入的是通过focus和blur事件 ...
阅读全文
摘要:异步回调: 一个Dom元素触发某个特定事件的时候,你可以指派一个回调函数来处理它,也就是说,你可以为需要执行的代码提供一个引用,并且让浏览器处理一切细节. 异步回调示例如下: <script type="text/javascript"> window.onload = loaded; function loaded(){ document.write("document is lo...
阅读全文