JavaScript学习
zhuhai__yizhi
这个作者很懒,什么都没留下…
展开
-
JavaScript使用伪造方式实现继承
function Parent(name, age) { this.color = ["red", "blue"]; this.name = name; this.say = function () { alert(this.name + ',' + this.age); } } Parent(转载 2015-05-10 16:40:37 · 458 阅读 · 0 评论 -
JavaScript中原型的重写
/** * 以下方式将会重写原型 * 由于原型重写,而且没有通过Person.prototype来指定 * 此时的constructor不会再指向Person而是指向Object * 如果constructor真的比较重要,可以在json中说明原型的指向 */ function Person() {}; Person.prototy转载 2015-05-06 18:24:44 · 877 阅读 · 0 评论 -
jQuery根据ID、CLASS、等获取对象
Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery转载 2015-05-14 15:13:54 · 3765 阅读 · 0 评论 -
CSS选择器种类及及其使用介绍
常用的有标签选择器、类选择器、ID选择器等等,其实还有很多,在接下来的文章中为大家详细介绍下这些选择器的种类及其使用首先说主要都有哪些先择器 1.标签选择器(如:body,div,p,ul,li) 2.类选择器(如:class="head",class="head_logo") 3.ID选择器(如:id="name",id="name_txt")转载 2015-05-14 14:32:40 · 884 阅读 · 0 评论 -
JavaScript动态混合模式创建对象
/** * 为了让定义的方式更加符合java的需求,就把定义方法的原型代码放置到Person这个构造函数中 */ function Person(name, age, friends) { // 属性在构造函数中定义 this.name = name; this.age = age; this.frien转载 2015-05-06 19:06:31 · 726 阅读 · 0 评论 -
JavaScript混合模式定义对象
/** * 为了解决原型所带来的问题,此处需要通过构造函数和原型来实现对象的创建 * 将属性在构造函数中定义,将方法在原型中定义。 * 这种有效的集合了两者的优点,是最为常见的方式。 */ function Person(name, age, friends) { // 属性在构造函数中定义 this.name =转载 2015-05-06 18:59:22 · 666 阅读 · 0 评论 -
JavaScript原型重写的问题注意
/** * 以下方式将会重写原型 * 由于原型重写,而且没有通过Person.prototype来指定 * 此时的constructor不会再指向Person而是指向Object * 如果constructor真的比较重要,可以在json中说明原型的指向 */ function Person() {}; var p1 = new转载 2015-05-06 18:41:25 · 423 阅读 · 0 评论 -
JavaScript使用原型创建对象
/** * 将行为设置为全局的执行,如果将所有的是方法都设置为全局函数的时候, * 这个函数就可以被window调用,此时就破坏了对象的封装性。 * 而且某个类有大量的方法,就会导致整个代码中充斥着大量的全局函数。 */ /* function Person (name, age) { this.name = name;转载 2015-05-06 15:43:10 · 513 阅读 · 0 评论 -
JavaScript中函数的属性和call和apply
/** * 函数同样有两个非常有用的属性:length和prototype * length指的是该函数所期望传递将来的参数个数 */ /** * call和apply方法是可以通过函数名称来调用函数。 * 对于apply而言 * 有两个参数,第一个是调用的上下文,第二个参数是数组, * 可以直接把arguments传转载 2015-05-06 13:50:43 · 444 阅读 · 0 评论 -
sessionStorage 、localStorage 和 cookie 之间的区别
sessionStorage 和 localStorage(又称为DOM Storage) 是HTML5 WebStorage API 提供的,可以方便的在web请求之间保存数据。有了本地数据,就可以避免数据在浏览器和服务器间不必要地来回传递。共同点:都是保存在浏览器端,且同源的。区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来转载 2015-05-14 16:58:09 · 1673 阅读 · 0 评论 -
JQuery具体使用方式(两种)
$("#hobby").addClass(); // jquery其中一种使用方式$.get() // ajax方式使用没有创建具体jquery对象$符号在jquery里面是一个方法,同时也是一个对象$.ajax() $.post() $.each()$其实就是jquery内部属性jqueryjquery内部通过许多复制继承使得本身有许多方法调用都可以通过$符号转载 2015-05-16 20:05:17 · 482 阅读 · 0 评论 -
JavaScript作用域,内部函数比参数优先级高
$(function () { function f1(x, y) { alert(x); // 输出函数,内部函数优先级高于形式参数 alert(y); function x() { alert(x);转载 2015-05-19 14:10:54 · 903 阅读 · 0 评论 -
JavaScript的定义“静态函数”和“静态变量”
$(function () { function Person() { var sar = 6000; this.getSar = function(){ return sar; } this.setSar原创 2015-05-19 10:41:03 · 2139 阅读 · 0 评论 -
JavaScript中的Function
function setname(a, b, c){ var name = "tom"; // 通过构造器构造函数 } // 上边的函数是一个对象,那么它有构造器constructor // 函数构造器Function console.log(setname.constructor); // Function转载 2015-06-01 15:00:46 · 407 阅读 · 0 评论 -
JavaScript创建对象的区分
$(function () { // 以上方式创建对象,在js内部需要通过具体构造函数构造 var obj = {name:"jack","age":23}; console.log(obj.constructor); // Object function Cat() { this.name="kitty";转载 2015-05-26 20:13:27 · 436 阅读 · 0 评论 -
JavaScript节点操作DOMDocument属性和方法
属性:1 Attributes 存储节点的属性列表(只读)2 childNodes 存储节点的子节点列表(只读)3 dataType 返回此节点的数据类型4 Definition 以DTD或XML模式给出的节点的定义(只读)5 Doctype 指定文档类型节点(只读)6 documentElement 返回文档的根元素(可转载 2015-05-20 10:37:58 · 552 阅读 · 0 评论 -
JavaScript事件清除
function f1() { alert("input click"); } function f2() { alert("div click"); } function delevent() { // 清除事件 // removeE原创 2015-05-20 16:43:04 · 936 阅读 · 0 评论 -
JavaScript获取事件制作作用的目标对象
// div有自己的子级元素 // 点击它的子级元素,也会间接点击div // 但是是它的子级元素先获得的事件 // event.target 获取直接捕捉事件的目标对象 // event.srcElement IE捕捉目标对象属性 var dv = document.getElementsByTagName("div")[0]; dv.oncli转载 2015-05-20 19:44:44 · 1557 阅读 · 0 评论 -
document的createDocumentFragment()方法
在《javascript高级程序设计》一书的6.3.5:创建和操作节点一节中,介绍了几种动态创建html节点的方法,其中有以下几种常见方法:· crateAttribute(name): 用指定名称name创建特性节点· createComment(text): 创建带文本text的注释节点· createDocumentFragment():转载 2015-05-20 10:37:35 · 463 阅读 · 0 评论 -
JavaScript使用原型方式创建对象所带来的问题
/** * 基于原型的创建虽然可以有效的完成封装,但是依然有一些问题 * 1、无法通过构造函数来设置属性值 * 2、当属性中有引用类型变量时,可能存在变量值重复 */ function Person() {}; Person.prototype = { constructor:Person, name:"Jac转载 2015-05-06 18:51:34 · 464 阅读 · 0 评论 -
JavaScript中的函数和对象
// 第一种定义方式 function fn1() { alert("fn1"); } // 函数就是一个非常特殊的对象,是一个Function类的实例,其实 // 在内存中存储的操作是通过一个键值对来存储的 alert(typeof fn1); // 由于函数是一个对象,所以可以通过如下方式定义 // 以下是通过函数的拷贝来完成赋值,两个引用并没有指向同一个对象 var fn2 = fn1; f转载 2015-05-06 11:01:24 · 380 阅读 · 0 评论 -
注意Javascript里var的用法
注意Javascript里var的用法 var a=10; //正确a=10; //正确在javascript中,以上两种方法都是定义变量的正确方法。微软的Script56.CHM中是这样解释的:尽管并不安全,但声明语句中忽略 var 关键字是合法的 JScript 语法。这时,JScript 解释器给予变量全局范围的可见度。当在过程级中声明一个变量时转载 2015-04-29 13:49:52 · 553 阅读 · 0 评论 -
JavaScript中for..in循环陷阱介绍
for...in循环中的循环计数器是字符串,而不是数字它包含当前属性的名称或当前数组元素的索引,下面有个不错的示例大家可以参考下大家都知道在JavaScript中提供了两种方式迭代对象: (1)for 循环; (2)for..in循环; 使用for循环进行迭代数组对象,想必大家都已经司空见惯了。但是,使用for.. in循环时,大家可要注意了,为什么这么说呢?大转载 2015-05-10 19:51:03 · 490 阅读 · 0 评论 -
JavaScript中函数
3.在JavaScript中,函数(function)就是对象。4.在JavaScript中,没有方法(函数)重载的概念。5.在JavaScript中中有个Function对象,所有自定义的函数都是Function对象类型。Function对象接收的所有参数都是字符串类型的,其中最后一个参数就是要执行的函数体,而前面的参数则是真正需要接收的参数。6.在JavaScript中,每个函转载 2015-04-29 16:09:49 · 356 阅读 · 0 评论 -
javascript中的arguments
在javascript函数体内,标识符arguments具有特殊含义。它是调用对象的一个特殊属性,用来引用Arguments对象。Arugments对象就像数组,注意这里只是像并不是哈。javascript函数体内,arguments像数组(并不是真的数组,是一个Arguments对象,再次强调)一样,有length属性,可以代表传给函数的参数的个数。引用一个形式参数可以用参数名,转载 2015-04-29 13:54:17 · 477 阅读 · 0 评论 -
JavaScript扩展String的方法
/** * 以下等于为String扩展了一个trim的方法来取出空格 */ String.prototype.trim = function() { // js的正则表达式和java的很类似,区别就是js是使用// // return this.replace(/(^\s+)|(\s+$)/, ""); // 这里只替换前面的空格转载 2015-05-10 19:39:52 · 404 阅读 · 0 评论 -
JavaScript中函数的作用域链
/** * 在js中当进行函数的调用,会为每一个函数增加一个属性SCOPE,通过这个属性来指向一块内存 * 这块内存中包含有所有的上下文使用的变量,当在某个函数中调用了新函数之后,新函数依然 * 会有一个作用域来执行原有的函数的SCOPE和自己新增加的SCOPE,这样就形成了一个链式结构 * 这就是js中的作用域链。 */ var colo转载 2015-05-10 20:19:44 · 478 阅读 · 0 评论 -
JavaScript使用forin遍历对象属性时注意
var p; var obj = {number:12.345, x:1,y:2,z:"yyyy"} for (p in obj) { alert(obj[p]); }获取对象属性的顺序,这种forin获取对象属性的顺序依赖于不同的实现。所以可能不会按照定义的顺序输出,要注意着点。原创 2015-04-29 13:39:45 · 943 阅读 · 0 评论 -
JS中函数声明与函数表达式的不同
Js中的函数声明是指下面的形式: [javascript] view plaincopyfunction functionName(){ } 这样的方式来声明一个函数,而函数表达式则是类似表达式那样来声明一个函数,如: [javascript] view plaincopy转载 2015-04-29 13:25:40 · 398 阅读 · 0 评论 -
javascript 的 "!function" 是什么意思?
叹号后面跟函数!function和加号后面跟函数+function都是跟(function(){})();这个函数是一个意思,都是告诉浏览器自动运行这个匿名函数的,因为!+()这些符号的运算符是最高的,所以会先运行它们后面的函数转载 2015-04-29 14:00:26 · 684 阅读 · 0 评论 -
JavaScript闭包的作用域链模型
/** * 通过以下操作带来最大的好处是,compareObjectFunction的作用域变大了 * 当compareObjectFunction结束之后,prop这个变量依然存在 */ function compareObjectFunction(prop) { //匿名函数 return function(obj1,obj2) { if(obj1[prop]>ob转载 2015-05-11 19:44:13 · 489 阅读 · 0 评论 -
JavaScript构造函数创建对象
/** * 通过构造函数方式创建和基于工厂的创建类似, * 最大的区别就是函数的名称就是类的名称,按照java的约定,第一个字母应该大写。 * 使用构造函数创建时,在函数内部是通过this关键字来完成属性的定义。 */ function Person (name, age) { this.name = name; th转载 2015-05-06 15:33:50 · 480 阅读 · 0 评论 -
JavaScript使用工厂方法创建对象
/** * 通过工厂的方式创建Person对象 * 在createPerson中创建一个对象然后为这个对象设置相应的属性和方法,之后 * 返回这个对象 */ function createPerson(name, age) { var o = new Object(); o.name = name; o转载 2015-05-06 15:19:40 · 556 阅读 · 0 评论 -
JavaScript的函数传值
/** * 由于函数是对象,所以可以直接把函数通过参数传递进来 */ function callFun(fun, arg) { return fun(arg); } function say(str) { alert("hello, " + str); } // var say = xxx //转载 2015-05-06 13:25:26 · 604 阅读 · 0 评论 -
JavaScript中的this
var color = "red"; function show() { alert(this.color); } /** * 创建了一个类,有一个color的属性和一个show方法 */ function Circle(color) { this.color = color; this.show转载 2015-05-06 13:41:52 · 325 阅读 · 0 评论 -
JavaScript闭包与私有变量
function Person(name) { /** * 此时就没有办法直接访问name这个属性,因为没有this.name * 要访问name只能通过this.getName和this.setName * 但是使用这种方式创建私有变量带来的问题是,每个对象都存储大量转载 2015-05-05 20:30:50 · 1163 阅读 · 0 评论 -
JavaScript中闭包与块作用域
for(var i=0; i<10;i++) { } // 在js中没有块作用域,不管是使用循环还是判断之后,这个变量一直存在 /** * 所以当在全局使用某个变量进行循环或者判断之后,这个变量可能会影响 * 到函数中的变量,所以在特殊情况下不要使用全局变量,而且使用全局变量 * 在作用域链的最转载 2015-05-05 20:20:04 · 399 阅读 · 0 评论 -
JavaScript闭包作用域与this
var name = "window"; var person = { name:"zhangsan", age:23, say:function(){ return function(){ return this.name;转载 2015-05-05 20:02:31 · 326 阅读 · 0 评论 -
JavaScript闭包作用域变量问题
function func() { // 创建了一个数组 var fns = new Array(); // i这个变量是保存在func这个作用域中的 for (var i = 0; i < 10; i++) { // 数组中放的值是一组函数 fns[i] = f转载 2015-05-05 19:55:07 · 448 阅读 · 0 评论 -
JavaScript中复制继承
$(function () { // 复制继承 function Tiger() { this.addr = "dongbei"; this.climb = "爬在倒着的树上"; } // Tiger继承一个原型属性extend转载 2015-05-19 14:01:05 · 507 阅读 · 0 评论