js方法的重写和重载
2017-09-09 17:18
239 查看
js的方法是不能重载的,js高级编程里面111页说明了原因,总结一下就是
js的方法可以写成这样:
这样的方法就相当于一个参数,方法的重载是指方法名相同参数不同但是是不同的方法,但是js没有这个因为参数不同而使他们变成不同函数例如:
即使funTest有三个参数也不报错,也可以执行下面的函数,因为这2个原因是js的方法没有重载。直接说参数不同不会导致产生不同函数,js函数相当于参数后面的会覆盖前面的,所以js没有重载。
js方法的重写
方法的重写利用方法的参数数组 anguments对象来实现的,我觉得js对象是可以动态添加方法的没必要进行重写。可能没遇到场景,用到在写吧。
js的方法可以写成这样:
var func1 = function(){ console.log("func1 test"); }
这样的方法就相当于一个参数,方法的重载是指方法名相同参数不同但是是不同的方法,但是js没有这个因为参数不同而使他们变成不同函数例如:
$(function(){ console.log("------**********开始了************---------"); funTest(100,200,300); }) function funTest(num,num1){ console.log("funTest2 satrt") console.log(arguments.length); console.log(arguments[0]); console.log(num); console.log(num1); console.log(num+200) }
即使funTest有三个参数也不报错,也可以执行下面的函数,因为这2个原因是js的方法没有重载。直接说参数不同不会导致产生不同函数,js函数相当于参数后面的会覆盖前面的,所以js没有重载。
js方法的重写
方法的重写利用方法的参数数组 anguments对象来实现的,我觉得js对象是可以动态添加方法的没必要进行重写。可能没遇到场景,用到在写吧。
$(function(){ console.log("------**********开始了************---------"); funTest(100,200,300); }) function funTest(num,num1){ console.log("funTest2 satrt") console.log(arguments.length); console.log(arguments[0]); console.log(num); console.log(num1); console.log(num+200) }
相关文章推荐
- 笔记整理 静态与非静态 继承哪一些 继承链 重写 属性方法重载 PDO
- JS是否存在方法重载
- 黑马程序员-----java基础五(方法的重载与重写)
- Java之方法的重写、重载、泛型
- C#方法的重载(overload)、重写(override)、隐藏(new)
- 【学习笔记08】java面向对象-方法重写、重载、instanceof
- java(方法重写及重载)
- Objective-C学习笔记(二十七)——方法的重载与重写
- Java的的方法重载和方法重写
- 方法重载overload与重写override的区别
- 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
- 方法重载与方法重写的区别
- java中方法的重载与重写的区别
- js 方法重载
- java的方法重载和方法重写
- js重写toFixed方法(兼容负数)
- Java 中方法的重写,重载与覆盖的关系
- 方法重载、方法重写、构造方法的含义及使用 方法重载、方法重写、构造方法的含义及使用
- JAVA:重载方法——对父类方法进行重写
- js 方法重载