JavaScript进阶知识

JavaScript进阶知识点
摘要由CSDN通过智能技术生成

c语言网教程
廖雪峰教程
w3school

函数

定义:function functionName(参数){ 方法体};
调用:

  • 直接调用:myFunction( );函数不属于任向 对象。
  • 作为方法来调用函数:myObject. fullName()。
    fullName 方法是一个函数。该函数属于对象。myObject 是函数的拥有者。被称为 this 的事物,是“拥有”这段 JavaScript 代码的对象。
  • 构造函数:new调用构造器建立新对象x
// 这是函数构造器:
function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}
// 创建了一个新对象:
var x = new myFunction(“Bill”, “Gates”);
x.firstName;                             // 会返回 “Bill”

构造器中this没有值,调用函数时this为新对象。
this关键词
在 JavaScript 中,被称为 this 的事物,指的是“拥有”当前代码的对象。
this 的值,在函数中使用时,是“拥有”该函数的对象。
请注意 this 并不是变量。它属于关键词。您无法改变 this 的值。function的this指向

函数表达式

//函数调用
getSum();
 // 函数声明
function getSum(num1, num2) {
    var total = num1 + num2;
    return total;
}
// 函数表达式
var getSum = function(num1, num2) {
    var total = num1 + num2;
    return total;
};
getSum();
//定义后调用

函数说明结尾可不加分号

方法重用

Call()
call() 方法是预定义的 JavaScript 方法。
语法:

fn.call(obj,1,2);
A、call() 函数中的第一个参数表示:想让 this 指向的对象 (obj);  
B、call() 函数中的第二及以后参数表示:传进去的实参;

可以改变this指向,可以用来调用所有者对象作为参数的方法。

Apply()

语法: fn.call(obj,[1,2])
不同之处是:
call() 方法分别接受参数。
apply() 方法接受数组形式的参数。
闭包

当两个函数彼此嵌套时,内部的函数就是闭包。闭包的形成条件是内部函数需要通过外部函数 return 给返回出来。

 function funOne(){ // 外部函数
     var num = 0; // 局部变量
     function funTwo(){ // 内部函数
           num++;
           return num;
       }
   return funTwo;
 }
 var fun = funOne(); // 返回函数 funTwo
 fun();      // 输出:1
 fun();      // 输出:2
 fun();      // 输出:3
 fun();      // 输出:4

用途:在 JavaScript 中,如果一个对象不再被引用,那么这个对象就会被 GC 回收,否则这个对象会一直保存在内存中。在上面的例子中,内部函数 funTwo() 定义在外部函数 funOne() 中,因此 funTwo() 依赖于 funOne(),而全局变量 fun 又引用了 funTwo(),所以 funOne() 间接的被 fun 引用。因此 funOne() 不会被 GC 回收,会一直保存在内存中

事件

定义:当用户与网页进行交互时发生的事情,例如单机某个链接或按钮、在文本框中输入文本、按下键盘上的某个按键、移动鼠标等等。

事件 描述
鼠标、键盘事件 onclick
ondblclick 双击鼠标时触发此事件
onmousedown 按下鼠标时触发此事件
onmouseup 鼠标按下后又松开时触发此事件
onmouseover 当鼠标移动到某个元素上方时触发此事件
onmousemove 移动鼠标时触发此事件
onmouseout 当鼠标离开某个元素范围时触发此事件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值