最近作死又去做了一遍javascript-puzzlers上的44道变态题,这些题号称"JS语言专业八级"的水准,建议可以去试试,这里我不去解析这44道题了,网上已经有很多的答案了.我只介绍让我意想不到的几种特殊情况下的数组操作方法结果.关于数组原生方法的基本操作我在另一篇博客里已经做了简介:吃透Javascript数组操作的正确姿势-再读<Js高程>.....下面的输出结果,未做特殊说明是在Node环境中运行的结果. 第一题: What …
const arr = [1, 2, 3, 5, 'a', 'b'] /** * * length * 这个只能被 称之为 数组的原生属性, 返回 一个 number * arr.length */ console.log(arr.length) // 6 /** * 按照方法类型 来方便记忆 栈方法(后进先出) 1 * push * 这个方法是向数组末尾添加一个新的元素, 返回的是数组的 新长度, 并改变了原来的数组 * arr.push() */ const resArr1 = arr.pu…
Javascript 中 str. arr.date.obj 等常见的原生方法总结 本文也说主要阐释了 Javascript 中的基础类型和 引用类型的自带方法,那么熟悉的同学又可以绕道了 总是绕道,真是羞耻悳boy 当然 本文阐述的主要类容 from MDN ( zh-cn ) Object(Javascript 自带属性和方法) Object 自带属性 Object 自带一个 prototype 属性, 即为 Object.prototype, Object.prototype 本身也是一个…
本文也说主要阐释了 Javascript 中的基础类型和 引用类型的自带方法,那么熟悉的同学又可以绕道了 总是绕道,真是羞耻悳boy 当然 本文阐述的主要类容 from MDN ( zh-cn ) Date 日期(原生方法) var date = new Date() console.log(date) // 返回当日的日期 和 时间 /** * * getDate() * 返回一个月中的某一天 ( 1-31) */ console.log(date.getDate()) // 23 /** *…
目录 Javascript 中 str. arr.date.obj 等常见的原生方法总结 Javascript 中 str. arr.date.obj 等常见的原生方法总结 本文也说主要阐释了 Javascript 中的基础类型和 引用类型的自带方法,那么熟悉的同学又可以绕道了 总是绕道,真是羞耻悳boy 当然 本文阐述的主要类容 from MDN ( zh-cn ) String 在 str 中,我们先在我们的 大脑里面 过一遍,我们常用到的方法有哪些 subString . subStr .…
一.啥是N皇后?先从四皇后入手 给定一个4x4的棋盘,要在棋盘上放置4个皇后.他们的位置有这样的要求,每一列,每一行,每一对角线都能有一个皇后. 你可能会对这个对角线有疑惑,其实就是每一个小正方形的对角线都不能有皇后.可以看图理解一下. 二.解题思想 设皇后k摆放在x[k]的位置上,注意数组下标从0开始,0<=k<n且0<=x[k]<n. 这里用数组下标以及对应的值,模拟了一个棋盘的行和列.这是比较奇妙的地方,不需要二维数组了. 算法:setQueen(n) 输入:皇后的个数n 输…
很多初使用Vue的同学会发现,在改变数组的值的时候,值确实是改变了,但是视图却无动于衷,果然是因为数组太高冷了吗? 查看官方文档才发现,不是女神太高冷,而是你没用对方法. 看来想让女神自己动,关键得用对方法.虽然在官方文档中已经给出了方法,但是在下实在好奇的紧,想要解锁更多姿势的话,那就必须先要深入女神的心,于是乎才有了去探索Vue响应式原理的想法.(如果你愿意一层一层地剥开我的心.你会发现,你会讶异…… 沉迷于鬼哭狼嚎 无法自拔QAQ). 前排提示,Vue的响应式原理主要是使用了ES5的Obj…
原生Js 两种方法实现页面关键字高亮显示 上网看了看别人写的,不是兼容问题就是代码繁琐,自己琢磨了一下用两种方法都可以实现,各有利弊. 方法一 依靠正则表达式修改 1.获取obj的html2.统一替换html标签3.替换要修改的关键字4.再把html标签修改回去不足就是如果查找的关键字跟替换的标签一样就有冲突了 效果预览:http://jsfiddle.net/dtdxrk/EAqkN/embedded/result/ 1 <!DOCTYPE HTML> 2 <html lang=&qu…
今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { "length": 5, "0": 'eat', "1": 'play' });//得到ary = ['eat', 'play', undefined*3] 在这个用法中,apply的第一个参数为null,第二个参数是一个包含length字段的对象,查了…
前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目地就是要尽量避免直接操作dom元素,所以我们在对dom元素进行操作的时候需要注意,我之前为了获取form的参数就直接用了var dragBox=document.getElementById('form')去找dom,但是其实记录from的初始位置,可以在其子组件更新父组件参数的时候调用.即在MyF…