js
猜不到我是谁
这个作者很懒,什么都没留下…
展开
-
Object.create()
Object.create(proto, [propertiesObject])//方法创建一个新对象,使用现有的对象来提供新创建的对象的proto。参数:proto : 必须。表示新建对象的原型对象,即该参数会被赋值到目标对象(即新对象,或说是最后返回的对象)的原型上。该参数可以是null, 对象, 函数的prototype属性 (创建空的对象时需传null , 否则会抛出TypeEr...原创 2019-11-14 15:33:49 · 316 阅读 · 0 评论 -
封装一个方法:把URL参数解析为一个对象,来获取地址栏url里面的传递的参数
URL参数解析//获取url方法//window.location.href//function getUrlkey(url){ var params = {}, arr = url.split("?"); if (arr.length <= 1) return params; arr = arr[1].split("&"); for(...转载 2019-10-06 11:42:37 · 1861 阅读 · 0 评论 -
ES6标准入门----总结一
1.let命令下面的代码如果使用var,最后将输出10.var a=[];for(var i=0;i<10;i++){ a[i]=function(){ console.log(i); }}a[6](0);//10上面的代码中,变量i是var声明的,在全局范围内都有效,所以全局只有一个变量i。每一次循环,变量i的值都会发生改变。而循环内被赋给数组a的函数内部的conso...原创 2019-10-06 10:24:06 · 284 阅读 · 0 评论 -
JS高级程序设计-总结二
1.文档信息作为HTML Document的一个实例,document对象还有一些标准的Document对象所没有的属性。URL属性中包含页面完整的URL(即地址栏中显示的URL),domain属性中只包含页面的域名,而referrer属性中则保存着链接到当前页面的URL。URL与domain属性时相互关联的。例如,如果document.URL等于http://www.wrox.com/Wi...原创 2019-09-20 12:17:47 · 225 阅读 · 0 评论 -
JS实现约瑟夫环
传说罗马人占领了乔塔帕特,41 个犹太人被围堵在一个山洞里。他们拒绝被俘虏,而决定集体自杀,大家决定了一个自杀方案,41 个人围成一个圈,由第 1 个人开始顺时针报数,每报数为 3 的人立刻自杀,然后再由下一个人重新从 1 开始报数,依旧是每报数为 3 的人立刻自杀,依次循环下去。其中两位犹太人并不想自杀,是数学家约瑟夫和他的朋友,他们发现了自杀方案的规律,选了两个特定的位置,最后只剩下他们两人,...原创 2019-09-18 18:44:20 · 2596 阅读 · 0 评论 -
JS中的算法与数据结构——链表(Linked-list)
要存储多个元素,数组(或列表)可能是最常用的数据结构。但这种数据结构有一个缺点:(在大多数语言中)数据的大小是固定的,从数组的起点或中间插入或移除项的成本很高。链表存储有序的集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称指针或链接)组成。相对于传统的数组,链表的一个好处是,添加或移除元素的时候不需要移动其他元素。然而,...原创 2019-09-17 11:28:59 · 141 阅读 · 0 评论 -
JS高级程序设计-总结一
1.<script>元素中属性async:表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。defer:表示脚本可以延迟到文档完全被解析和显示之后再操作。只对外部脚本文件有效。IE7及更早版本对嵌入脚本也支持这个属性。async与defer不同的是,并不保证按照指定它们的先后顺序执行。2.var声明的局部变量(作用域)。...原创 2019-09-06 17:28:09 · 479 阅读 · 0 评论 -
LeetCode 5. Longest Palindromic Substring 最长回文子串 JS
描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”暴力破解外面的两层循环找到所有子串,第三层循环判断子串是否是回文。方法的时间复杂度为O(n^3),空间复杂度为O(1)。/** * @param {...原创 2019-09-01 22:00:09 · 125 阅读 · 0 评论 -
JS 数组扁平化
假如有一个数组 var arr = [1, [2, 3, [4]]] ,我们怎么能把arr变成[1, 2, 3, 4]呢?即让多维数组降维,转换为只有一层的数组。1. 循环数组+递归 function flatten(arr){ var result = []; for(var i = 0, len = arr.length; i < len; i++){ ...转载 2019-09-01 19:53:18 · 228 阅读 · 0 评论 -
JavaScript 中 call()、apply()、bind() 的用法
call() 和 apply() 之间的区别:call() 方法分别接受参数;apply() 方法接受数组形式的参数。如果要使用数组而不是参数列表,则 apply() 方法非常方便。apply() 方法接受数组中的参数:var person = { fullName: function(city, country) { return this.firstName + " " ...转载 2019-08-31 22:13:55 · 84 阅读 · 0 评论 -
JS打印三角形
直角三角形图一<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> for(let j=0;j...原创 2019-08-31 20:16:07 · 8710 阅读 · 0 评论 -
JS中的算法与数据结构——链表(Linked-list)
@TOC链表(Linked-list)数组不总是最佳的数据结构,因为,在很多编程语言中,数组的长度都是固定的,如果数组已被数据填满,再要加入新的元素是非常困难的。而且,对于数组的删除和添加操作,通常需要将数组中的其他元素向前或者向后平移,这些操作也是十分繁琐的。然而,JS中数组却不存在上述问题,主要是因为他们被实现了成了对象,但是与其他语言相比(比如C或Java),那么它的效率会低很多。这...转载 2019-07-28 16:38:21 · 268 阅读 · 0 评论 -
Where art thou
题目要求写一个 function,它遍历一个对象数组(第一个参数)并返回一个包含相匹配的属性-值对(第二个参数)的所有对象的数组。如果返回的数组中包含 source 对象的属性-值对,那么此对象的每一个属性-值对都必须存在于 collection 的对象中。例如,如果第一个参数是 [{ first: “Romeo”, last: “Montague” }, { first: “Mercutio...转载 2019-06-06 16:34:01 · 128 阅读 · 0 评论 -
FCC--Roman Numeral Converter(将给定的数字转换成罗马数字)
关于罗马数字1.罗马数字选用7个罗马字母(大写)作数字,代表的十进制数字如下:一些数字用罗马数字表示为:2.罗马数字的计数规则:(1) 相同数字连写,则值相加,如III = 3;(2) 小的数在大的数右边,也是累加,如VI = 6;(3) 小的数在大的数左边,结果为大数减小数,如IV = 4;(4) 在数的上方划一条横线,表示扩大1000倍。一个简单粗暴的例子:但是,我们会...转载 2019-06-06 10:56:24 · 540 阅读 · 0 评论 -
FileReader读取文件
前言:FileReader是一种异步文件读取机制,结合input:file可以很方便的读取本地文件。input:file在介绍FileReader之前,先简单介绍input的file类型。<input type="file" id="inputBox">input的file类型会渲染为一个按钮和一段文字。点击按钮可打开文件选择窗口,文字表示对文件的描述(大部分情况下为文件名)...转载 2019-05-27 10:27:53 · 8574 阅读 · 1 评论