javascript apply|call的使用
来源:互联网 发布:java单例模式的优点 编辑:程序博客网 时间:2024/05/24 04:26
var log = console.log;/** * var func = function(arg1, arg2) {} * func.call(obj, arg1, arg2); * func.apply(obj, [arg1, arg2]); * func.bind(obj)(arg1, arg2); */function fruits() {}fruits.prototype = {color : "red",say : function() {log("My color is " + this.color);}}banana = {color : "yellow"}var apple = new fruits();apple.say();apple.say.call(banana);apple.say.apply(banana);// 常用用法log("1.数组追加")var array1 = [12, "foo"];var array2 = ["dd", 5];Array.prototype.push.apply(array1, array2);log(array1);log(array2);log("2.获取数组中的最大值和最小值");var number = [5, 24, 20, -54];var maxNum = Math.max.apply(Math, number);var minNum = Math.min.call(Math, 5, 24, 20, -54);log(maxNum);log(minNum);log("3.验证是否是数组(前提是toString()方法没有被重写过)");function isArray(obj) {return Object.prototype.toString.call(obj) == '[object Array]';}log("4.给log消息加前缀");function nlog() {var args = Array.prototype.slice.call(arguments);args.unshift('log:');console.log.apply(console, args);}nlog("123", 2, "abc")log("5.数组降维");function reduceDimension(arr) {return Array.prototype.concat.apply([], arr);};var arr = [[1, 2], [3, 4], [5, 6]];log(reduceDimension(arr));arr = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]];log(reduceDimension(reduceDimension(arr)));log('--------------------------')var obj = {x : 81};var foo = {getX : function(y) {log(this.x, y);}};foo.getX.bind(obj)(12);foo.getX.call(obj, 12);foo.getX.apply(obj, [12]);
阅读全文
0 0
- javascript apply|call的使用
- JavaScript中apply和call的使用
- JavaScript中call和apply的使用
- JavaScript的call、apply
- JavaScript的call、apply
- javascript的call()和apply()
- javascript的call和apply
- JavaScript的apply和call的使用及区别
- javascript中this,apply和call方法的使用
- javascript对象详解以及call、apply和bind的使用
- javascript中call和apply函数的使用
- JavaScript 中apply()、call()和bind()方法的使用
- JavaScript中 call 与 apply、bind 的使用
- javascript中call、apply、bind方法的使用
- JavaScript中call()和apply()方法的使用
- js call apply的使用
- call 和 apply 的使用
- call方法的使用,JavaScript中的apply()方法和call()方法使用介绍
- Ajax的形式(如何将ajax回调值转为全局变量)
- virtualbox安装增强功能并设置共享文件夹
- JNI开发之访问java属性方法和静态属性方法
- linux 命令:chmod权限设置命令
- php curl上传文件$_FILES为空问题
- javascript apply|call的使用
- php curl文件上传兼容php5.0~5.6各版本
- php curl curl_getinfo()返回参数详解
- php curl伪造来源ip和refer实例代码
- chrome 45以上flash被拦截的一种可能解决方案
- base64编码的原理及实现
- 使用js提交form表单的两种方法
- PHP安全相关的配置(1)
- VC++编程通过Bluetooth API调用对话框选择蓝牙设备并显示设备信息