jsjquery 如何移除自定义函数?

JavaScript016

jsjquery 如何移除自定义函数?,第1张

移除一个函数  直接给他重命名即可//例如你有一个函数叫做SayHello

function SayHello(){

alert('hello world')

}

console.log(SayHello)//输出函数对象

//删除函数

var SayHello = null

console.log(SayHello)//输出null;SayH

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库( 或JavaScript框架)。

jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的模块可以分为:入口模块、底层支持模块和功能模块。其核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

第一个例子是为元素注册一个事件:

Behaviour.register({'#exampleli':function(e){ e.onclick=function(){ this.parentNode.removeChild(this)} } })

他认为应该改写为:

$('#exampleli').bind('click',function(){ this.parentNode.removeChild(this)})第二个例子是为不同的元素注册不同的事件: Behaviour.register({'b.someclass':function(e){ e.onclick=function(){ alert(this.innerHTML)} },'#someidu':function(e){ e.onmouseover=function(){ this.innerHTML="BLAH!"} } })

他认为应该改写为:

$('b.someclass').bind('click',function(){ alert(this.innerHTML)})$('#someidu').bind('mouseover',function(){ this.innerHTML='BLAH!'})

第三个例子是为不断变化的元素注册不同的事件:

Behaviour.register({'#fooolli':function(a){ a.title="ListItems!"a.onclick=function(){alert('Hello!')}},'#fooolli.tmp':function(a){ a.style.color='white'},'#fooolli.tmp.foo':function(a){ a.style.background='red'} })

他认为应该改写为:

$('#fooolli') .set('title','ListItems!') .bind('click',function(){alert('Hello!')}) .select('.tmp') .style('color','white') .select('.foo') .style('background','red')

先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,然后进行设置就可以删除。

首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:

然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:

代码为:

这样就构造了这样一个函数,比如我有有一个数组:

假如我们要删除其中的 'fd' ,就可以使用:

5.splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值,index:数组开始下标        len: 替换/删除的长度       item:替换的值,删除操作的话 item为空。删除:

是关键字. 用于删除对象的属性.语法:

delete object.property

delete object['property']

delete 操作符会从某个对象上移除指定属性。成功删除的时候回返回 true,否则返回 false。但是,重要的是要考虑以下情况:

如果你删除的属性在对象上不存在,那么delete将不会起作用,但仍会返回true

如果 delete 操作符删除成功,则被删除的属性将从所属的对象上彻底消失。然后,如果该对象的原型链上有一个同名属性,则该对象会从原型链上继承该同名属性。(也就是说delete操作只会在自身的属性上起作用)

任何使用 var 声明的属性不能从全局作用域或函数的作用域中删除。

这样的话,delete操作不能删除任何在全局作用域中的函数(无论这个函数是来自于函数声明或函数表达式)

除了在全局作用域中的函数不能被删除,在对象(object)中的函数是能够用delete操作删除的。

任何用let或const声明的属性不能够从它被声明的作用域中删除。

不可设置的(Non-configurable)属性不能被移除。这意味着像Math, Array, Object内置对象的属性以及使用Object.defineProperty()方法设置为不可设置的属性不能被删除。

var Employee = {

  age: 28,

  name: 'abc',

  designation: 'developer'

}

delete Employee.name

console.log(Employee.name)// undefined