zoukankan      html  css  js  c++  java
  • Function 2——JS学习笔记2015-6-30(第71天)

    今天将是JS基础视频教程学习的一个 转折点,因为我看到第八章的时候,发现很多东西自己以及没法及时的理解和掌握了,我决定夯实基础,一方面通过一些实例来帮助巩固基础

    (通过网上的实例和老师留下的作业),另外一个方面,我觉得接受师父和知乎网友的建议,看完高程3的前6章,然后去看下javascript DOM编程艺术。期待自己早日跨过基础阶段  

    的学习,学习JS是一个长期积累的过程,我一定会坚持下去。

    高程3:function 类型——函数内部属性:

       1、arguments 是一个类数组的对象, 包含着传入函数中的所有参数;

         arguments还有一个callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数;

          2、this,      this应用的是函数据以执行的环境对象  ( 妙味的老师是这么理解的:this是指调用当前函数或方法的那个对象)

                  实例:

     1 window.color = 'red';
     2 var o = {
     3   color: 'blue'
     4 };
     5 function sayColor() {
     6   alert(this.color);
     7 }
     8 sayColor();  // red   因为这里sayColor函数是在全局作用域中定义的,此时调用函数的就是window对象
     9 o.sayColor = sayColor;  
    10 o.sayColor(); // blue  o调用了sayColor函数,所以this指的是o,可以这么去理解;

    函数的属性和方法:

    length和prototype(后面再提)

    length是指表示函数希望接收命名参数的个数

    每个函数都包含2个非继承而来的方法 apply()和call()   他们的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。

    每个函数继承的 toLocaleString() 和 toString()方法始终都返回函数的代码 valueOf()也同样只返回函数代码(返回的格式会因为浏览器不同而异)

    length实例:

    function sayName(name) {
      alert(name);
    }
    function sum(num1, num2) {
      return num1 + num2;
    }
    function sayHi() {
      alert('hi');  //  弹出字符串一定要加上引号
    }
    alert(sayName.length); // 1
    alert(sum.length);     // 2
    alert(sayHi.length);   // 0

    apply() 和 call() 真正的用武之地在于 能够扩充函数,赖以运行的作用域;(这一块暂时没有理解)

  • 相关阅读:
    ubuntu安装node.js+express+mongodb
    Linux(Ubuntu)下安装NodeJs
    Nodejs的Express完成安装指导
    【详解】ERP、APS与MES系统是什么?
    linux常用命令
    Linux命令集合
    sql 以逗号分割成多行数据
    【项目管理工具】SVN
    富文本编辑器
    cookie的跨页面传值
  • 原文地址:https://www.cnblogs.com/zhangxg/p/4612141.html
Copyright © 2011-2022 走看看