JavaScript的灵活应用
1、查找数组的最大值和最小值
(1)
Math.max.qpply(null,array);
Math.min.qpply(null,array);
(2)
eval("Math.max("+array.toString()+")")
eval("Math.min("+array.toString()+")")
(3)
ary.sort(function(a,b){
return a-b;
})
(4)
let max=array[0],min=array[0];
for(let i=1;i<array.length;i++){
let cur=array[i];
max<cur?max=cur:null;
min>cur?min=cur:null;
}
2.转化一个数字数组为function数组(每个function都弹出相应的数字)
var a = [111, 2, 6, 4, 22, 5, 99, 3];
a = a.map(function (value) {
return function () {
return value;
}
});
console.log(a[2]());
3.给object数组进行排序(排序条件是每个元素对象的属性个数)
var b = [{a: 1, b: 2}, {a: 1, b: 2, c: 3, d: 5}, {a: 1}, {a: 1, b: 2, c: 3, d: 4}];
//拓展count方法
Object.prototype.count = (
Object.prototype.hasOwnProperty('_count_') ?
function () {
return this._count_;
} :
function () {
var p, count = 0;
for (p in this) {
if (this.hasOwnProperty(p)) {
count++;
}
}
return count;
} );
function compare(obj1, obj2) {
return obj1.count() - obj2.count();
}
console.log(b.sort(compare));
4.实现如下语法的功能:var a = add(2)(3)(4);怎么实现可以一直不停地累加呢?
function add(x) {
var sum = x;
var fn = function (y) {
sum += y;
return fn;
};
fn.valueOf = fn.toString = function () {
return sum;
};
return fn;
}
console.log((add(2)(4)).toString());//6
console.log(add(2));//function 2
console.log(add(3)(8)(9));//function 20
console.log(add(3)(8)(9)(10));//function 30
JavaScript的灵活应用的更多相关文章
- 使用 JavaScript 实现灵活的固定导航功能
如果你想在网页中实现灵活的固定导航功能,那么 Smart Fixed Navigation 这个 JavaScript 小脚本可以帮助轻松实现一个固定的导航,让用户在访问你的网站的时候可以随时使用菜单 ...
- javaScript设计模式 -- 灵活的javaScript语言
因为好长时间的懒惰和懈怠,好久没有更新文章了,从现在开始我会按时更新一些自己总结的一些知识,和研究的东西,希望能让大家从我这里学到一点点的知识. 本文参考了张荣铭的javascript设计模式一书,算 ...
- 巧用javascript对象属性,向事件绑定的匿名函数内传递循环控制变量的值
遇到一个需要向匿名函数传递循环控制变量的问题,我受到园子里这篇文章的启发[笔记]js获取当前点击元素的索引,解决了这个问题.现在把代码贴出来,以防止自己忘记. if ($('#labModal').l ...
- JavaScript由浅入深(一)——类型、值和变量
JavaScript是一门面向web的.高端的.动态的.弱类型的编程语言,是学习web前端开发必备的基础技能之一.JavaScript最初是一门脚本语言(scripting-language),它 ...
- JavaScript脚本语言基础(四)
导读: JavaScript和DOM DOM文档对象常用方法和属性 DOW文档对象运用 JSON数据交换格式 正则表达式 1.JavaScript和DOM [返回] 文档对象模型(Document O ...
- 【JavaScript】使用面向对象的技术创建高级 Web 应用程序
本文讨论: JavaScript 是基于原型的语言 用 JavaScript 进行面向对象的编程 JavaScript 编码技巧 JavaScript 的未来 本文使用了以下技术: JavaScrip ...
- 初涉JavaScript模式 (8) : 函数 【概述】
什么是函数 函数,是一个大型程序中的某部份代码,由一个或多个语句块组成.它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性.(维基百科) 函数的特点 第一类对象 在JavaScript世界中 ...
- JavaScript类的设计
[转载] Javascript与其他的面向对象语言不同,如C++,Java或PHP等.它并不是基于类的,而是基于原型的一种语言. 1.对象创建 在Javascript中创建一个类是非常容易的: var ...
- Javascript 递归函数
递归函数就是在函数内部调用它自己.在Javascript 中有很多写法,值得我们学习一下(Javascript太灵活了).还是用n的 阶乘 来写例子吧. 1. 首先,来看一个最普通 最正常的写法. f ...
随机推荐
- liunx用户管理的基本命令
1.passwd 修改用户密码 2.useradd 用户组名 增加用户组 3.su 用户名 切换用户名 4.usermod 用户更改 5.userdel 用户删除
- Java/JDK安装教程手册(正规图文全流程)、运行、环境配置
Java/JDK教程手册 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Download Resouc ...
- Lists.transform的使用
转自:https://blog.csdn.net/weixin_42201566/article/details/81513769 Lists.transform:能够轻松的从一种类型的list转换为 ...
- LeetCode Majority Element Python
Given an array of size n, find the majority element. The majority element is the element that appear ...
- http-equiv 了解
META标签是HTML语言HEAD区的一个辅助性标签,它位于HTML文档头部的<HEAD>标记和<TITLE>标记之间,它提供用户不可见的信息.meta标签通常用来为搜索引擎r ...
- lseek成功但未生效?
如果open打开文件时,指定了O_APPEND,即“追加”模式,那么lseek的向前移动指针的操作无法凑效,包括lseek(fd, 负数, SEEK_CUR)和lseek(fd, 小于当前偏移的位置, ...
- php脚本输出js代码不执行的解决办法和原理。
<?phpecho "<script>alert('我弹出来了')</script>";?> 很简单你一句话就可以在PHP里面输出JS脚本让浏览 ...
- FastAdmin 绑定的模块禁用路由
为了安全,将后台入口隐藏. 这里出一个问题,因为装了 CMS 插件,使用入口登录后显示的是 CMS 的首页. 这个问题已经修复. https://gitee.com/karson/fastadmin/ ...
- [C++] 一个能够定时自毁的类的实现
试想一下, 有没有这种需求: 对于每一个新的对象, 我们希望它能够在一定时间后自动销毁, 前提是我们没有在这段时间内给它发出重置信号. 这种需求其实是有的, 比如在电影里, 主角知道了一个反派不希望被 ...
- v-if 与 v-show 区别
使用 v-if 时,如果在初始化渲染的时候条件为false, 那么不会做任何事情. v-if 首次局部编译不会发生,直到条件变为true. v-if 切换显示内容的消耗更高,而 v-show 在初始化 ...