js 高级技巧

1、高级函数

1.1 安全的类型检测

typeof
 操作符,对一个值使用可能返回下列某个字符串

undefined, boolean, string, number, object,
function

null 也返回 object

instanceof
 用来判断对象是否为某个类的实例

var isArray = value
instanceof Array

Object.prototype.tostring.call(value);         //
安全的类型检测

1.2 惰性载入

惰性载入表示函数执行的分支仅会发生一次

var aa =
(function(){

if(condition){

return function(){}

else if(condition){

return function(){}

}

})();

aa();

js 高级技巧,布布扣,bubuko.com

时间: 2024-10-10 09:36:07

js 高级技巧的相关文章

js高级技巧---拖放

拖放:点击某个对象,并按住鼠标按钮不放,将鼠标移动到另一个区域,然后释放鼠标按钮将对象“放”在某处. 涉及到event的对象的属性: clientX,clientY:当事件被触发时鼠标指针相对于浏览器页面(或客户区)的坐标. screenX,screenY:当事件发生时鼠标指针相对于屏幕的坐标. offsetX,offsetY:当事件发生时鼠标指针相对于触发事件的元素内边界的坐标. x,y:当事件发生时鼠标指针相对于触发事件的元素外边界的坐标. 1.声明了一个对象DragDrop,该对象是一个单

js高级技巧----自定义事件

自定义事件 原本的事件处理的原理:事件是javascript与浏览器交互的主要途径. 事件是一种叫做观察者的设计模式 观察者模式由两类对象组成:主体和观察者. 主体用于发布事件: 观察者通过订阅这些事件来观察该主体. 自定义事件的原理: 将事件处理程序保存在一个数组中: 当添加事件的时候,我们push进去这个事件处理函数: 当我们执行的时候,从头遍历这个数组中的每个事件处理函数,并执行. 自定义事件应该具有的内容: 1.一个handler对象,对象中保存着存放事件处理函数的数组 handler 

js高级技巧之高级定时器

实际上,浏览器负责进行排序,指派某段代码在某个时间点运行的优先级. 可以吧js想象成在时间线上运行的. JavaScript中没有任何代码是立刻执行的,但一旦进程空闲则尽快执行. 1.重复的定时器: setInterval()的重复定时器存在两个缺点: (1)某些间隔会被跳过 (2)多个定时器的代码执行之间的间隔可能比预期的小: 假设,某个onclick事件处理程序使用setInterval()设置了一个200ms间隔的重复定时器.如果事件处理程序花了300ms多一点的时间完成,同时定时器代码也

JS高级技巧学习小结

安全类型检测 <script type="text/javascript"> //判断某个值是不是原生数组 function isArray(value){ return Object.prototype.toString.call(value)=="[object Array]"; } //判断某个值是不是原生函数 function isFunction(value){ return return Object.prototype.toString.c

JS高级技巧

//region安全的类型检测 //可靠的方法:在任何值上调用原生toString()方法,都会返回一个[object NativeConstructorName]格式的字符串.每个类内部都有一个[Class]属性 这个属性指定了对应的构造函数名       var va = [];       //alert( Object.prototype.toString.call( va ) );//[object Array]       //endregion //region作用域安全的构造函数

一些实用的js高级技巧

技巧一之setTimeout. 应用案例:比如你想一个函数循环执行10次,怎么办?以前通常是先setInterval,然后clearInterval,技巧一就是克服这个问题 (function () { var i = 0; function job() { console.log(i++); if (i < 10) { setTimeout(job, 1000); } } job(); })(); 上面这个job函数就只会乖乖的执行10次.然后自动停止 技巧二之高效的for循环 应用案例:抛弃

上学时的HTML+JS+CSS(小总结)

html:超文本标记语言 基本标签: { 文本标签:<pre></pre>:原封不动的保留空白区域.      <br />:换行.      <hr width="宽度(单位:%)" size="高度" noshade(该行不带阴影) color="线条颜色" />:在文档中画一条水平线,可用来          分割文档.      <strong></strong>:加

js红宝书总结笔记

一.JS的简介: 1.宿主环境:浏览器.node.adobe flash; 2.DOM(文档对象模型)是针对 XML 但经过扩展用于 HTML 的应用程序编程接口(API): DOM0级:即DHTML:    DOM1级:主要映射文档结构: DOM2级:增加视图,样式,事件,遍历和范围: DOM3级:增加验证等方法: 3.BOM(浏览器对象模型) 二.在html中使用js 1.script的属性:defer(html4.01):脚本延迟至页面加载完成后执行:async(html5):不必等待脚本

【js】中的小技巧

本文主要介绍一些JS中用到的小技巧 1. 类型强制转换   1.1 string强制转换为数字 可以用*1来转化为数字(实际上是调用.valueOf方法) 然后使用Number.isNaN来判断是否为NaN,或者使用 a !== a 来判断是否为NaN,因为 NaN !== NaN '32' * 1            // 32 'ds' * 1            // NaN null * 1            // 0 undefined * 1    // NaN 1  * {