Javascript中的location对象
发表于|更新于|计算机基础
- window.location === document.location // true
- location的属性列表
- 修改location的属性会导致页面刷新并产生新的历史记录
- window.location = “URL” 和 location.href=”URL”效果一样,都会调用location.assign(URL)
- location.replace(URL)不会产生新的历史记录,而且会禁用后退
- location.reload(true): 重新加载页面,参数可以选择是否从服务器加载(而不是从缓存加载)
文章作者: 三木
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 三木的技术博客!
相关推荐

2018-06-22
Javascript中的函数表达式
函数声明 有提升 而函数表达式没有,因此不应该通过if…else来声明函数 if (condition) { function sayHi() {} } else { function sayHi() {} } 在递归函数中使用arguments.callee可以避免因函数名改变产生的错误。 function factorial(num) { if (num <= 1) { return 1; } else { return num * arguments.callee(num - 1); } } 闭包是指函数中定义的函数,闭包的作用域链中包含父函数的执行环境(变量对象),所以即使父函数退出,如果闭包仍然被引用,那么父函数的变量对象就一直存在于内存中。所以,过度的使用闭包会导致内存占用过多 闭包的另外一个副作用是闭包只能取得父函数中变量的最后一个值,例如: function createFunctions() {...

2018-07-18
Javascript中的事件
事件捕获(capturing)和事件冒泡(bubbling) 添加事件处理程序的两种方法 // onclick=null elem.addEventListener(“click”, e_func, false); //elem.removeEventListener(‘click’, e_func, false); //false 表明在冒泡阶段被触发 事件对象 e.bubbles // true or false 是否冒泡 e.cancelable // true of false 是否可取消默认行为 e.currentTarget // 正在处理事件的元素,事件处理程序中的this指向该元素 e.target // 事件发生的目标元素 e.defaultPrevented // true or false 默认行为是否被取消 e.detail e.eventPhase // 1 捕获阶段 2 处于目标 3冒泡阶段 e.preventDefault() e.stopImmediatePropagation() //阻止事...

2019-01-11
获取隐藏元素的宽度
问题描述如果DOM元素的fu’yu是被隐藏的(display: none),那么无论使用DOM的接口,还是jquery的接口来获取该元素的宽度,得到的结果始终是0. 例如: <div id="node"> <p> hello world </p> </div> #node { display: none; } alert($('#node p').width()); 解决方法在过去元素的宽度之前,临时修改元素的display为block,获取之后再讲其设置回none 例如: function get_width(obj) { var width = 0; obj.parent().css('display', 'block'); width = obj.width(); obj.parent().css('display', 'none'); return width; ...

2018-05-23
Javascript中的正则表达式
RegExp类型的创建 var expression = /pattern/flags; 或者 var expression = new RegExp(“pattern”, “flags”); g :全局匹配 i :忽略大小写 m :多行模式 RegExp实例的属性 global: true or false, 表示标志位’g’是否被设置 ignoreCase: true or false multiline: true or false lastIndex: 下一次搜索开始的字符位置 source: pattern的字符串表示 RegExp实例的方法 exec(“target_string”) ret.index: 匹配到的字符串的起始位置 ret.input: “target_string” ret[0]: 匹配到的字符串 ret[1 - n]: 匹配组1-n匹配到的字符串 test(“target_string”) true: 匹配到字符串 false: 没有匹配到字符串 exec和...
2022-05-30
函数式编程概要
函数式编程是什么?函数式编程是一种通过组合纯函数来编写软件的编程范式,它是声明式而非命令式的,其原则是避免共享状态, 改变数据,以及副作用。 函数式编程推荐: 使用纯函数 使用函数组合 使用声明式代码而非命令式代码 函数式编程应当避免: 副作用 改变数据 共享状态 术语解释副作用(side effect)函数副作用是指函数在执行过程中改变了函数之外的环境。具体地说,函数副作用是指函数被调用,完成了函数既定的计算任务,但同时因为访问了外部数据,尤其是因为对外部数据进行了写操作,从而一定程度地改变了系统环境。 例如下面的函数就有副作用,它改变了外部变量count。 12345let count = 0;function add1() { count += 1;} 下面的情形都是有副作用的: 函数在执行过程中改变了外部变量 改变了函数的参数 抛出了异常 打印字符串到标准输出或者记录了日志 启动了一个子进程 调用了有副作用的函数 纯函数如果一个函数满足下列条件则它就是一个纯函数: 有输入(参数) 没有状态 (如全局变量) 相同的输入,总是会的到相同的...

2020-01-15
Javascript中的异步编程
Javascript最开始是用于浏览器中的前端编程语言。Javascript是单线程的,为了能及时响应用户操作,javascript对耗时操作(如Ajax请求、本地文件读取等)的处理是异步进行的,也即是所谓的异步编程。除了快速响应用户操作之外,另外一个让javascript采用异步方式的原因是,程序无法预知用户会进行哪些操作。比如说程序无法提前知道用户是点“取消”按钮还是“确定”按钮。所以,Javascript采用了事件注册的方式来处理这个问题。在程序编写时,可以给用户点击“取消”按钮和“确认”按钮注册不同的回调函数,这样当用户点击不同的按钮时,不同的回调函数会被执行。本文从回调函数开始,介绍了Promise、async/await几种Javascript主要的异步编程方式。 异步编程和回调函数无论是Ajax请求,还是事件处理,Javascript都是通过回调函数来完成的。谈及异步编程和回调函数,可以回想一下操作系统中的中断及中断处理程序。由于CPU的速度比外设快出许多,为了提高CPU的处理效率,计算机系统引入了中断的概念,外设在读写数据的时候,CPU可以忙别的事情,等到外设读...
评论
公告
欢迎访问我的技术博客,如果您觉得我的文章对您有所帮助,欢迎打赏和分享!





