今天将是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() 真正的用武之地在于 能够扩充函数,赖以运行的作用域;(这一块暂时没有理解)
时间: 2024-11-05 02:24:25