
【javascript】
文章平均质量分 70
学习javascript基础知识
月疯
得到你最想要的东西,最保险的办法,那就是你能配得上你最想要的东西。机会是留给有准备的人,运气是留给有天赋的努力者。
展开
-
js浏览器页面生命周期
DOMContentLoaded、load、beforeunload、unloadHTML 页面的生命周期包含三个重要事件:DOMContentLoaded—— 浏览器已完全加载 HTML,并构建了 DOM 树,但像<img>和样式表之类的外部资源可能尚未加载完成。 load—— 浏览器不仅加载完成了 HTML,还加载完成了所有外部资源:图片,样式等。 beforeunload/unload—— 当用户正在离开页面时。每个事件都是有用的:DOMContentL...原创 2021-08-30 10:28:24 · 2855 阅读 · 0 评论 -
javascript之调度:setTimeout 和 setInterval
目前有两种方式可以实现:setTimeout允许我们将函数推迟到一段时间间隔之后再执行。 setInterval允许我们重复运行一个函数,从一段时间间隔之后开始运行,之后以该时间间隔连续重复运行该函数。setTimeout:语法:let timerId = setTimeout(func|code, [delay], [arg1], [arg2], ...)参数说明:func|code想要执行的函数或代码字符串。 一般传入的都是函数。由于某些历史原因,支持传入代...原创 2021-08-21 20:29:03 · 788 阅读 · 0 评论 -
javascript之Map 和 Set
存储带键的数据(keyed)集合的对象。 存储有序集合的数组。Map是一个带键的数据项的集合,就像一个Object一样。 但是它们最大的差别是Map允许任何类型的键(key)。Map它的方法和属性如下:new Map()—— 创建 map。 map.set(key, value)—— 根据键存储值。 map.get(key)—— 根据键来返回值,如果map中不存在对应的key,则返回undefined。 map.has(key)—— 如果key存在则返回...原创 2021-08-21 20:09:30 · 1189 阅读 · 0 评论 -
javascript字符串
字符串可以包含在单引号、双引号或反引号中:let single = 'single-quoted';let double = "double-quoted";let backticks = `backticks`;反引号允许我们通过${…}将任何表达式嵌入到字符串中:function sum(a, b) {return a + b;}alert(`1 + 2 = ${sum(1, 2)}.`); // 1 + 2 = 3.使用反引号的另一个优点是它们允许字符...原创 2021-08-21 12:58:20 · 312 阅读 · 0 评论 -
javascript数组总结
添加/删除元素:push(...items) —— 向尾端添加元素,pop() —— 从尾端提取一个元素,shift() —— 从首端提取一个元素,unshift(...items) —— 向首端添加元素,splice(pos, deleteCount, ...items) —— 从 pos 开始删除 deleteCount 个元素,并插入 items。slice(start, end) —— 创建一个新数组,将从索引 start 到索引 end(但不包括 end)的元素复制进去。conc.原创 2021-08-20 17:19:12 · 118 阅读 · 0 评论 -
javascript之数组(二)
转换数组:map:arr.map方法是最有用和经常使用的方法之一。它对数组的每个元素都调用函数,并返回结果数组。语法:let result = arr.map(function(item, index, array) {// 返回新值而不是当前元素})例如,在这里我们将每个元素转换为它的字符串长度:let lengths = ["Bilbo", "Gandalf", "Nazgul"].map(item => item.length);alert(leng原创 2021-08-20 17:15:18 · 165 阅读 · 0 评论 -
javscript之数组(一)
声明一个数组:创建一个空数组有两种语法:let arr = new Array();let arr = [];数组的操作:数组的首端或尾端添加和删除元素的方法arr.push(...items)—— 从尾端添加元素, arr.unshift(...items)—— 从首端添加元素 arr.pop()—— 从尾端提取元素, arr.shift()—— 从首端提取元素,delete删除元素:let arr = ["I", "go", "home"];...原创 2021-08-20 16:44:52 · 255 阅读 · 0 评论 -
javascript模块 (Module) 简介
随着ES6的出现,js模块已经成为正式的标准了。曾经为了解决js模块问题而发展起来的民间秘籍,requireJs(AMD)、SeaJs(CMD)、Node(CommonJs),已经或者不久的将来会成为历史。了解历史也是很重要的,因为正式标准就是以民间秘籍为基础而发展起来的,有些规范仍然被广泛应用于开发中(CommonJS)。ES6的class是面向对象的语法糖,升级了ES5的构造函数的原型链继承的写法,并没有解决模块化问题。Module功能则是为了解决这一问题而提出的。在ES6之前,...转载 2021-08-19 17:21:46 · 9419 阅读 · 0 评论 -
js的class
但在现代 JavaScript 中,还有一个更高级的“类(class)”构造方式,它引入许多非常棒的新功能,这些功能对于面向对象编程很有用。“class” 语法基本语法是:class MyClass { // class 方法 constructor() { ... } method1() { ... } method2() { ... } method3() { ... } ...}然后使用new MyClass()来创建具有上述列出的所有方法的新对象。...原创 2021-08-19 16:01:21 · 246 阅读 · 0 评论 -
js声明变量三种方式
变量声明的三种方式:let const varvar声明与let相似。大部分情况下,我们可以用let代替var或者var代替let,都能达到预期的效果。let和var的区别:1、“var” 没有块级作用域用var声明的变量,不是函数作用域就是全局作用域。它们在代码块外也是可见的(译注:也就是说,var声明的变量只有函数作用域和全局作用域,没有块级作用域)。if (true) { var test = true; // 使用 "var" 而不是 "...原创 2021-08-19 15:48:57 · 1510 阅读 · 0 评论 -
javascript的运算(小结)
avaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:123; // 整数1230.456; // 浮点数0.4561.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5-99; // 负数NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity&原创 2021-08-19 15:23:12 · 344 阅读 · 0 评论 -
javascript对象
1、工厂模式function createEmpleey(name,age,job){ var e=new Object(); e.name=name; e.age=age; e.job=job; e.work=function(){ alert("开始工作") } return e;}var e1=createEmpleey('htt','13','CSD');e1.work();var e2=createEmpleey('juju','45','teacher');原创 2021-08-19 11:45:01 · 118 阅读 · 0 评论 -
call()与apply()的区别与作用
1、概念call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用就当然是针对方法的了,这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同。2、作用:call()方法和apply()方法的作用相同:改变this指向。3、他们的区别在于接收参数的方式不同:call():第原创 2021-08-18 12:19:44 · 2449 阅读 · 0 评论 -
javascript调用一个函数(对象),new和直接调用的区别
function Man(age){ this.sex="male"; this.age=age;}m1=Man(20);m2=new Man(21);m1就是函数Man()执行的返回值,也就是undefined. 在函数执行过程中,属性被加到全局作用域或者Man方法所属的对象上了。执行之后window.sex=="male"而m2是Man的实例,Man {sex:"male",age:21}function Man(age) { var obj = new Object(); .原创 2021-08-18 12:16:13 · 929 阅读 · 0 评论 -
JavaScript的原型和原型链
概念:当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的__proto__隐式原型上查找,即它的构造函数的prototype,如果还没有找到就会再在构造函数的prototype的__proto__中查找,这样一层一层向上查找就会形成一个链式结构,我们称为原型链。任何实例对象的隐式原型属性__proto__,指向其构造函数的显示原型属性prototype也就是说fn.__proto__ === Fn.prototype 指向Fn的空object对象1.原创 2021-08-18 12:08:09 · 119 阅读 · 0 评论 -
javascript的函数
在 JavaScript 中, 每个函数实际上都是一个Function对象。函数一般定义:function fn(x,y) { console.log(x + y)}fn.name //"fn"匿名函数:var fnf = function(x,y){ console.log(x + y)}f.name //"f"window.functionvar f = new Function('x','y','return x+y')f.name // .原创 2021-08-18 11:34:09 · 234 阅读 · 0 评论 -
axios, ajax和fetch的比较
Ajax前端程序员常说的Ajax是Asynchronous JavaScript and XML的缩写,意思是异步网络请求。区别于传统web开发中采用的同步方式。Ajax带来的最大影响就是页面可以无刷新的请求数据。以往,页面表单提交数据,在用户点击完”submit“按钮后,页面会强制刷新一下,体验十分不友好。传统web请求方式:使用Ajax后请求:实现一个Ajax请求在现代浏览器上实现一个Ajax请求是非常容易的var request = new XMLHttpRequest.原创 2021-08-16 11:18:04 · 266 阅读 · 0 评论 -
javascript之正则表达式
正则表达式中的元字符主要有以下几大类:常用元字符:代码 说明. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配行的开始$ 匹配行的结束常用反义元字符:代码 说明\W 匹配任意不是字母,数字,下划线,汉字...转载 2021-04-15 20:20:12 · 674 阅读 · 0 评论 -
JavaScript HTML DOM 事件(笔记)
HTML 事件的例子:当用户点击鼠标时 当网页已加载时 当图像已加载时 当鼠标移动到元素上时 当输入字段被改变时 当提交 HTML 表单时 当用户触发按键时h1点击事件<h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>button的点击事件 <!DOCTYPE html><htm...转载 2018-12-25 21:01:38 · 190 阅读 · 0 评论 -
Javascript的数组对象
创建和定义数组:1、r mycars=new Array();//不定义数组的长度,可以随意放值mycars[0]="1"mycars[1]="2"2、定义数组的长度是5,只能放5个var mycars=new Array(5)mycars[0]="1"mycars[1]="2"3、var mycars=new Array("Saab","Volvo",转载 2018-12-26 23:55:53 · 182 阅读 · 0 评论 -
js中的循环语句
1、FOR循环(效率最高)优点:JavaScript最普遍的for循环,执行效率最高 缺点:无法遍历对象for(let i=0;i<array.length,i++){ //operation} 2、FOR…IN循环(效率较低)优点:唯一一个能够获取对象的属性名的遍历方式 缺点:会将对象通过继承得到的属性一齐遍历,造成非预料的结果且效率较低//会访问非继...转载 2018-12-27 00:23:02 · 474 阅读 · 0 评论 -
js里面集合操作
映射Map var map = new Map(); //映射,不重复的键,以键值对的形式存在map.set("name","mapluanpeng"); //添加设置映射if(map.has("name")) //判断映射是否存在 printf(map.get("name")); //读取...转载 2018-12-27 00:52:27 · 3777 阅读 · 0 评论 -
JS中的Map和Set实现映射对象
使用iterable内置的forEach方法var a = ['A', 'B', 'C'];a.forEach(function (element, index, array) { // element: 指向当前元素的值 // index: 指向当前索引 // array: 指向Array对象本身 alert(element);});Set与Arra...转载 2018-12-27 01:07:08 · 2211 阅读 · 0 评论 -
ajax上传json到服务器
ajax提交对象 var users = JSON.stringify([ {name: "wabiaozai1", pwd: "123"}, {name: "wabiaozai2", pwd: "123"} ]); $.ajax({ type: ...原创 2018-12-27 16:27:14 · 775 阅读 · 0 评论 -
数据可视化的图表实现
D3官方地址:https://github.com/d3/d3/wikiD3.js介绍:D3.js 是基于数据驱动文档工作方式的一款JavaScript函数库,主要用于网页作图、生成互动图形,是最流行的可视化库之一,它被很多其他的表格插件所使用。D3使你有能力借助HTML,SVG和CSS来生动地可视化各种数据。D3不需要你使用某个特定的框架,它的重点在于对现代主流浏览器的兼容,同时结合...原创 2018-12-22 18:13:16 · 1671 阅读 · 0 评论 -
网页粒子背景插件 -Canvas-nest.js
地址:https://github.com/hustcc/canvas-nest.js如果以上的js有问题,直接点击下面的下载!canvas-nest.js下载地址:https://cdn.bootcss.com/canvas-nest.js/1.0.1/canvas-nest.jscolor=”255,0,0” 背景粒子线的颜色值opacity=”0.5” 背景粒子线的透明度,一...原创 2018-12-18 00:47:30 · 3255 阅读 · 0 评论 -
JS中的六大数据类型 (笔记0)
js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object)。typeof 操作符由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字.typeof 123 //Numbertypeof 'abc' //Stringtypeo...转载 2018-12-18 01:34:18 · 314 阅读 · 0 评论 -
html的table属性笔记
<table cellpadding="10px" border="1px" cellspacing="5px"> <!--定义表格表头--> <tr> <th>名字</th> <th>单位</th>原创 2018-12-24 10:54:01 · 732 阅读 · 0 评论 -
js读取本地文件和写入本地文件
读取本地文件:<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body>原创 2018-12-24 18:13:21 · 40154 阅读 · 6 评论 -
js函数新手笔记
1、函数声明 1、函数可以通过声明定义function functionName(parameters) { 执行的代码}函数声明后不会立即执行,必须调用了之后才可以执行例如:<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>day(runo...原创 2018-12-25 02:47:01 · 286 阅读 · 0 评论 -
js读取本地文件
写了一个demo<div> <input type="file" id="files" style="display: none" onchange="fileImport();"> <span id="wj" style="border: 1px;width:150px;">文件地址原创 2018-12-25 13:33:33 · 1814 阅读 · 1 评论 -
highstack的一个bug
Highcharts expects point configuration to be numbers or arrays in turbo mode 出现这个问题主要是引入文件调用的先后顺序有问题,调整一下就ok了原创 2018-12-25 18:48:54 · 203 阅读 · 0 评论 -
hightstock读取本地文件,展示数据demo
<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"><link rel="icon" href="https://static.jianshukeji.com/highcharts/images/favicon.ico"&a原创 2018-12-25 19:47:18 · 508 阅读 · 0 评论 -
js跳转页面、页面传值、页面刷新(笔记)
1.在原来的窗体中直接跳转用1.超链接<a href="http://www.jb51.net" title="htt">Welcome</a>等效于js代码window.location.href="http://www.jb51.net"; //在同当前窗口中打开窗口2、在新窗体中打开页面用:window.open('你所要跳转的页面')...转载 2018-12-25 20:21:07 · 3527 阅读 · 0 评论 -
web端消息推送的方式介绍
1、goeasy 官方地址:http://www.goeasy.io/集成简单,自己可以在官网上去看官方文档,12个月免费!值得一试。2、dwr推送:官方地址http://directwebremoting.org/dwr/3、comet4j注意:(Comet4J是一个微型的即时推送框架,它分为服务端与客户端两部分,你只要将服务器端(JAR文件,目前仅支持Tomcat6、...原创 2018-12-19 21:41:00 · 1104 阅读 · 0 评论