问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何快速提升js编写能力

发布网友 发布时间:2022-04-23 23:51

我来回答

1个回答

热心网友 时间:2022-04-23 19:15

静态方法,属于类的方法,即类可以直接调用的方法。为类所有实例化对象所共用(但不能用实例对象之间调用),所以静态成员只在内存中占一块区域;

实例方法,属于实例化类后对象的方法,即实例对象调用的方法。每创建一个类的实例,都会在内存中为非静态成员分配一块存储;

静态方法在一启动时就实例化了,因而静态内存是连续的,且静态内存是有*的;而非静态方法是在程序运行中生成内存的,申请的是离散的空间。

看代码:

function A(){

}
A.staticMethof = function(){
alert('静态方法');
}
A.prototype.instaceMethod = function(){
alert('实例方法');
}
A.staticMethof(); //类A直接调用
var instace = new A();
instace.instaceMethod();//A的实例对象instace调用

  

拿jQuery框架来看,它的方法都是实例方法,它的工具函数都是静态方法。静态方法$.each(); 实例方法$('body').each();

说到这里就很好理解了。

下面来看下jQuery中拓展两种方法extend的用法。

其实当年看到各种框架和别人代码用到$.extend 和 $.fn.extend我是相当不开心的,哈哈,因为不懂... 现在讲了静态方法与实例方法,聪明的朋友应该可以猜到了,$.extend是拓展静态方法,而$.fn.extend是拓展实例方法,哈哈,聪明~

先说下extend。

extend,这个函数的功能基本都是实现对象的拷贝功能,即将一个对象的所有属属性拷贝到另外一个对象上去,开发插件时经常用到。

看代码:

jQuery.extend(object)

为jQuery类添加方法,即添加静态方法:

jQuery.extend({
  min: function(a, b) { return a < b ? a : b; },
  max: function(a, b) { return a > b ? a : b; }
});
jQuery.min(2,3); // 2
jQuery.max(4,5); // 5

  

Objectj Query.extend( target, object1, [objectN]);

为其他类添加静态方法(用一个或多个对象来拓展一个对象,返回被拓展的对象

var settings = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
jQuery.extend(settings, options);
结果:settings == { validate: true, limit: 5, name: "bar" }

  

jQuery.fn

jQuery.fn = jQuery.prototype = {
   init: function( selector, context ) {//….
//……
};

原来jQuery.fn = jQuery.prototype,对prototype原型链是不陌生的吧?

jQuery.fn.extend( object );

对jQuery.prototype进行拓展,即添加实例函数。

例如要开发一个插件,编辑框被点击时,alert编辑框中的内容。

$.fn.extend({
alertWhileClick: function(){
$(this).click(function(){
alert($(this).val());
})
};
});
$("#input1").alertWhileClick();

你可以拓展一个对象到jQuery的prototype中去,这样的话就是插件机制了。

(function( $ ){
$.fn.tooltip = function( options ) {
};
//等价于
var tooltip = {
function(options){
}
};
$.fn.extend(tooltip) = $.prototype.extend(tooltip) = $.fn.tooltip
})( jQuery )http://www.315nk.com/希望对您有帮助,不清楚追问。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
立秋后钓鱼什么风向好-立秋钓鱼风向怎么选 赱乂砉込儬 怎么读 "赱"读什么? 解决电脑无法搜索到iPhone热点的问题如何修复iPhone热点无法在电脑上显... 电脑搜不到iphone12热点 iphone开热点给电脑搜不到 国企的地产有哪些 国企下设公司是什么意思? 红加蓝加绿是什么色. 梦幻西游75级开三倍抓鬼一轮有多少经验 雨天睡眠质量好的原因已公布,那么真正的原因是什么? 如何进行投资苗木 雨天为啥睡眠质量更好?其中的原因是什么? 用js编写一段程序,要求在网页页面中显示&quot;加法表&quot;? 新建苗圃值得注意的哪些问题 雨天有利于睡眠,你知道雨天睡眠质量好的原因是什么? 苗木企业如何提高自身竞争力 怎样能快速学好JS基本编写 怎么管理苗圃里的苗木的出入库 JS入门 用javascript 编写一个简单网页 如何经营好自己的果树事业? 刚学了一些js语言,但是不知道js语言在哪里可以编写,可以运行? 如何去除苗木库存,重新让苗木卖个好价钱 在哪里编写JS代码,通过什么方式运行并看到结果 如何编写js脚本 用什么语言编写的 苗木旺季,购买苗木需要注意哪些 如何编写自己的JS框架/类库 苗木的具体管理措施有哪些? js函数编写及调用 苗木销售需要注意什么 做花卉苗木生意怎么样 怎样经营花卉苗木 雨天睡眠质量好,这是为什么? 怎么编写JS 脚本?问题如下 中药材种植怎样避风险 为什么一到了下雨天,人睡觉的时候感觉很踏实? js编写问题 怎样用js编写九九乘法表? 很多人觉得在雨天睡眠质量好,你知道其中原因吗? 苗木购买需要注意哪些问题? 雨天睡眠质量好的原因话题上热搜,雨天为何会提高睡眠质量? 怎样做苗木经纪人? 提高苗木经济效益有哪些诀 65533 下雨天更想睡觉的原因是什么?为何会有这种情况? 绿化苗木市场有什么样的趋势? 为什么人在下雨天睡觉会觉得特别舒服呢? 每次一到阴雨天就特别想睡觉,这是什么原因? 下雨天是不是比较适合睡觉? 为什么下雨睡得很好 为什么下雨天睡得更香? 为什么下雨天,人们会更想睡觉、睡得很香?