随笔分类 -  Javascript

摘要:通常我们想要在页面内容加载完成后运行 JS 时,都会使用 window.onload 来处理,比如: 这段代码将在页面载入完成后弹出一个 "Hello World!" 的警告框,但是众所周知,window.onload 的特点是页面元素全部加载完成后才执行,比如页面内有大量的图片之类,当打开网页时, 阅读全文
posted @ 2018-11-14 22:57 笠航 阅读(18572) 评论(0) 推荐(0) 编辑
摘要:浏览器加载页面的顺序: 1、 解析HTML结构 2、 加载外部脚本和样式表文件 3、 解析并执行脚本代码 4、 构造HTML DOM模型==ready() 5、 加载图片等组件 6、 页面加载完毕==onload() ready事件是在DOM模型构造完毕时触发 load事件是在页面加载完毕后触发 r 阅读全文
posted @ 2018-11-14 22:48 笠航 阅读(628) 评论(0) 推荐(0) 编辑
摘要:关于windows.onload和body的onload属性的区别网上有些说法说的也不太统一,现在系统说下: 先看共同点: 都是body内容体加载结束执行; window.onload 内部方式可以 推荐的 body onload属性: 内联或者内嵌方式可以, 内部也可以 首先,这两个onload事 阅读全文
posted @ 2018-11-14 22:41 笠航 阅读(2520) 评论(0) 推荐(0) 编辑
摘要:一、{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。 如:var LangShen = {"Name":"Langshen","AGE":"28"}; 上面声明了一个名为“LangShen”的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性, 所以访问时,应该用.( 阅读全文
posted @ 2018-11-10 21:33 笠航 阅读(11364) 评论(0) 推荐(0) 编辑
摘要:面向对象,就是给对象添加属性,通过对象的属性完成需求。 一个简单的例子,创建一个对象,并给对象添加属性。 var obj = new Object(); obj.name = 'tom'; obj.age = 18; obj.showName = function(){ return this.na 阅读全文
posted @ 2018-10-03 20:45 笠航 阅读(119) 评论(1) 推荐(0) 编辑
摘要:闭包(closure)是Javacript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局 阅读全文
posted @ 2018-10-03 20:36 笠航 阅读(280) 评论(0) 推荐(0) 编辑
摘要:js代码,如下: 这到底是什么原理呢?为什么一堆符号运算结果竟然能是两个字符,而且恰巧还是个sb! 其实靠的是js的类型转化的一些基本原理,本篇就来揭密”sb”是如何炼成的。相信你如果能把这个理清楚了,以后遇到类型转化之类的题目,就可以瞬间秒杀了。 首先要运用到的第一个知识就是js运算符的优先级,因 阅读全文
posted @ 2018-09-29 21:56 笠航 阅读(386) 评论(0) 推荐(0) 编辑
摘要:记一道JavaScript面试题 问题: 如果我们使用JavaScript的”关联数组”,我们怎么计算”关联数组”的长度? 其实答案很简单,直接计算key的数量就可以了。 在实际开发中,我们有时需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组 阅读全文
posted @ 2018-09-29 21:11 笠航 阅读(227) 评论(0) 推荐(0) 编辑
摘要:要进行各种各样的运算,就要使用不同的运算符号。 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=)、 算术运算符(+,-,*,/,++,--,%)、 比较运算符(>,<,<=,>=,==, ,!=,!==)、 逻辑运算符(||,&&,!)、 条件运算(?:)、 位移运算符(| 阅读全文
posted @ 2018-09-26 23:19 笠航 阅读(204) 评论(0) 推荐(0) 编辑
摘要:按位运算符是把操作数看作一系列单独的位,而不是一个数字值。所以在这之前,不得不提到什么是“位”: 数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内被存储为 0 0 0 0 0 0 1 0,当我们将内存内的位值改变之后,这个值代表的意义也就变了,比 阅读全文
posted @ 2018-09-26 22:29 笠航 阅读(209) 评论(0) 推荐(0) 编辑
摘要:昨天了解了一下Fisher–Yates shuffle费雪耶兹随机置乱算法,现在再来看看下面这个曾经网上常见的一个写法: 或者使用更简洁的 ES6 的写法: 但是这种写法是有问题的,它并不能真正地随机打乱数组。 问题 看下面的代码,我们生成一个长度为 10 的数组['a', 'b', 'c', 'd 阅读全文
posted @ 2018-09-26 22:02 笠航 阅读(4127) 评论(0) 推荐(0) 编辑
摘要:位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。 重温整数 ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢? 有符号整数使用 31 位表示整数的数值,用第 阅读全文
posted @ 2018-09-26 15:11 笠航 阅读(635) 评论(0) 推荐(0) 编辑
摘要:Fisher–Yates随机置乱算法也被称做高纳德置乱算法,通俗说就是生成一个有限集合的随机排列。Fisher-Yates随机置乱算法是无偏的,所以每个排列都是等可能的,当前使用的Fisher-Yates随机置乱算法是相当有效的,需要的时间正比于要随机置乱的数,不需要额为的存储空间开销。 一、算法流 阅读全文
posted @ 2018-09-25 22:06 笠航 阅读(534) 评论(0) 推荐(0) 编辑
摘要:Ajax jquery的库的简化版本 (function(){ //面向外界的唯一变量接口! var myajax = window.myajax = {}; //作者、版本号等等信息 myajax.author = "考拉"; myajax.version = "1.0.0"; //这个对象有两个 阅读全文
posted @ 2018-09-25 20:23 笠航 阅读(636) 评论(0) 推荐(0) 编辑
摘要:首先感谢某某作者写的文章:http://www.jb51.net/article/12793.htm 直接上代码,注意文件名为env.js 原理如下: 一次批量加要加载的文件存入数组,采用Ajax方式异步载入各个文件,然后采用循环方式逐个执行下载下来的Js或者Css文件,如果已经被缓存(localS 阅读全文
posted @ 2018-09-25 19:11 笠航 阅读(241) 评论(0) 推荐(0) 编辑
摘要:/** * ITCAST WEB * Created by lsy on 2016/5/24. */ /* * 1. 请求的类型 type get post * 2. 请求地址 url * 3. 是异步的还是同步的 async false true * 4. 请求内容的格式 ... 阅读全文
posted @ 2018-09-19 22:25 笠航 阅读(136) 评论(0) 推荐(0) 编辑
摘要:JavaScript Puzzlers原文 1. ["1", "2", "3"].map(parseInt) 答案:[1, NaN, NaN] 答案:[1, NaN, NaN] 解析:parseInt (val, radix) :两个参数,val值,radix基数(就是多少进制转换) 解析:pars 阅读全文
posted @ 2018-09-19 22:01 笠航 阅读(409) 评论(0) 推荐(0) 编辑
摘要:https://segmentfault.com/a/1190000015288700 1 介绍JavaScript的基本数据类型 Number、String 、Boolean 、Null、Undefined Object 是 JavaScript 中所有对象的父对象数据封装类对象:Object、A 阅读全文
posted @ 2018-09-19 21:51 笠航 阅读(4606) 评论(0) 推荐(0) 编辑
摘要:1.hasOwnProperty相关 为了判断一个对象是否包含自定义属性而不是原型链上的属性,我们需要使用继承自 Object.prototype 的 hasOwnProperty方法。hasOwnProperty 是 JavaScript 中唯一一个处理属性但是不查找原型链的函数。 // 修改Ob 阅读全文
posted @ 2018-09-19 21:48 笠航 阅读(183) 评论(0) 推荐(0) 编辑
摘要:前几天,我们学习了JavaScript的入门课程,但是要想做网站,仅仅学会入门是不够的,今后的几天,我将带领大家精通JavaScript,希望大家好好学习! JS内置对象 String对象:字符串对象,提供了对字符串进行操作的属性和方法。 Array对象:数组对象,提供了数组操作方面的属性和方法。 阅读全文
posted @ 2018-09-19 20:35 笠航 阅读(658) 评论(0) 推荐(0) 编辑