JavaScript
lllanlll
这个作者很懒,什么都没留下…
展开
-
JavaScript继承深入学习记录 从模式开始
JavaScript继承发展1.设计模式1.工厂模式ECMAScript中没法创建类 因此在js中使用一种函数来封装以特定接口创建对象function createPerson(name, age) { let obj = {}; obj.name = name; obj.age = age; obj.sayName = function() { console.log('my name is ' + this.name); } r原创 2020-08-22 23:35:12 · 99 阅读 · 0 评论 -
js正则学习第一章
chapter11.两种模糊匹配(通过string.match(regExp))横向可匹配不定长的字符串Eg: /ab{2,4}c/ 可匹配"abbc abbbc abbbbc"纵向可匹配多个字符串Eg: /a[123]b/ 可匹配"a1b a2b a3b"2.1字符组[123456abcdEFGH] => [1-6a-dE-H]'-'表示连字符若需要匹配’-’ 则需要转义 eg: [1\-4] or [-14] or [14-] 都表示匹配’1’, ‘-’,原创 2020-07-19 00:29:38 · 126 阅读 · 0 评论 -
跨域方法实践(jsonp,cors)
同源策略:同源策略限制了一个源(origin)中加载文本或脚本与来自其它源(origin)中资源的交互方式,这是一个用于隔离潜在恶意文件的重要安全机制。如果两个页面拥有 相同 的 协议(protocol),端口(如果指定),和 主机,那么这两个页面就属于同一个源(origin)。1.CORS1.起本地node服务var http = require('http');http.crea...原创 2020-03-15 13:56:05 · 170 阅读 · 0 评论 -
Chrome中ajax使用file协议加载本地文件非同源问题
Chrome中ajax使用file协议加载本地文件跨域问题1.背景及代码 代码目录: 1.使用:XMLHttpRequest 创建一个对象 兼容IE// xmlhttp.jsfunction getHTTPObject() { if(typeof XMLHttpRequest === 'undefined') { XMLHttpRequest = functi...原创 2020-02-24 16:50:21 · 803 阅读 · 0 评论 -
["1", "2", "3"].map(parseInt)输出
问题:[“1”, “2”, “3”].map(parseInt);输出什么1.parseInt(string, radix) 接受两个参数 第一个是需要转换的字符串 第二个是转换成多少进制的数 若只有string或radix为0时则默认为10进制2.mapvar new_array = arr.map(function callback(currentValue[, index[, arra...原创 2020-02-12 13:13:53 · 191 阅读 · 0 评论 -
js 对象属性排序
let x = { a: 1, b: 5}let y = { a: 3, b: 2}let arr = [x, y]const compare = (proper) => { return (x, y) => { //升序排序 //降序为y-x return x[proper] - y[proper] }}排序前排序后...原创 2019-12-02 11:42:56 · 308 阅读 · 0 评论 -
Js高程第四章第一节 基本类型与引用类型二次学习
JS变量包括基本类型和引用类型定义:1.基本类型:简单的数据段(按值访问)可以操作保存在变量中的实际值2.引用类型:一或多个值构成的对象 JS不允许直接访问内存 不能直接操作对象的内存空间当复制保存着对象的某个变量时,操作的是对象的引用。但在为对象添加属性时,操作的是实际的对象1.动态属性对比: let person = new Object() //引用类型 per...原创 2019-09-04 17:51:05 · 83 阅读 · 0 评论 -
Js高程第四章第二节 执行环境及作用域二次学习
执行环境及作用域var color = "blue"; function changeColor(){ var anotherColor = "red"; function swapColors(){ var tempColor = anotherColor; anotherColor = color; color = tempColor; // 这里可以访问 colo...原创 2019-09-05 21:09:00 · 91 阅读 · 0 评论 -
Js高程第五章第一二节 Object Array二次学习
Object创建:1.let a = new Object()2.let b = {} 使用这种方式不会调用Object的构造函数调用:1.a.name2.a.[“name”] 若使用了空格或保留字的属性名则需要用方括号调用Array创建:1.let arr = new Array() 括号内可以是数字(长度)也可以是一个数组(数组的初始项)2.let brr = Ar...原创 2019-09-06 17:19:51 · 167 阅读 · 0 评论 -
Js高程第五章第三四节 Date RegExp二次学习
1.Date介绍: Date类型使用自 UTC(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期在使用这种数据存储格式的条件下,Date 类型保存的日期能够精确到 1970 年 1 月 1 日之前或之后的 285 616 年创建一个Date类型对象let time = new Date()不传递参数的...原创 2019-09-08 11:39:20 · 123 阅读 · 0 评论 -
npm学习 01创建并运行npm script
创建并运行npm scriptnpm init快速创建项目使用:npm init在当前目录快速创建package.json 多选项可一路默认回车或使用:npm init -f使用默认配置快速创建修改默认配置:npm config set init.author.email “875952924@qq.com”npm config set init.author.name “linjh”...原创 2019-10-08 17:48:10 · 4136 阅读 · 0 评论 -
ES6 set
原创 2019-10-08 19:46:14 · 60 阅读 · 0 评论 -
npm学习 02多个npm script串行与并行
package.json{ "name": "npmlearn", "version": "0.1.0", "description": "no", "main": "index.js", "scripts": { "lint:js": "eslint *.js", "lint:css": "stylelint *.less", "lint:json"...原创 2019-10-09 14:16:57 · 770 阅读 · 0 评论 -
npm学习 03npm script 传递参数和添加注释
1.npm script传递参数1. eslint自动修复参数:–fix第一种:可能改了lint:js而没有改lint:js:fix "lint:js": "eslint *.js", "lint:js:fix": "eslint *.js --fix",第二种:代码更加健壮"lint:js": "eslint *.js","lint:js:fix": "npm run lint:...原创 2019-10-10 10:33:47 · 557 阅读 · 1 评论 -
Js高程十三章事件 未完
事件流1.事件冒泡 自内向外//DOM<!DOCTYPE html> <html> <head> <title>Event Bubbling Example</title> </head> <body> <div id="myDiv">Click Me</div> &...原创 2019-09-03 21:02:35 · 98 阅读 · 0 评论 -
Js高程十二章 DOM2 DOM3
检测是否支持 document.implementation.hasFeature("Core", "2.0");//true document.implementation.hasFeature("Core", "3.0");//true document.implementation.hasFeature("HTML", "2.0");//true document.implem...原创 2019-08-31 10:10:37 · 136 阅读 · 0 评论 -
JavaScript 学习笔记 《JavaScript 高级程序设计》3章
3.6 语句1.for-in语法:for(property in expression) statementeg:var showTxt = &amp;quot;&amp;quot;;var person1 = { name:&amp;quot;linjiahao&amp;quot;, age:19, learn:JavaScript };for(var x in person1){ show原创 2018-12-24 20:36:09 · 70 阅读 · 0 评论 -
ES6 let 和 const的个人学习
let 不能重复声明 var 可以 let immut = 1; var mut = 2; var mut = 4; console.log(mut);//4 let immut = 2; console.log(immut);//immut 以被定义过 不可重复定义原创 2019-06-02 09:07:18 · 79 阅读 · 0 评论 -
ES6 模板字面量
1.不使用ES6语法时创建多行字符串 const beforeES = { name: 'ljh', age: 20, }; console.log('My name is: ' + beforeES.name + '\n' + 'My age is: ' + beforeES.age + '\n'); //My name i...原创 2019-06-02 09:33:43 · 113 阅读 · 0 评论 -
JavaScript 函数的call apply bind 方法学习
在JS中每个函数都包含两个非继承而来的方法call()apply()这两个函数作用都是:在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域区别:1.call()接收多个参数 call(this, 参数1, 参数2, …)传递的每个参数需要挨个列举出来2.apply()接收两个参数 apply(this, [参数1, 参数2, …])第一个...原创 2019-06-02 15:13:28 · 102 阅读 · 0 评论 -
JavaScript简易轮播图实现及页面数据分离
具体实现步骤:1 创建一个外部div:outer 用来设置轮播图在网页上的位置并设置overflow: hidden将多余图片先隐藏2 创建一个内部div:inner 用来存放图片并设置position: absolute以便之后通过设置left值来改变位置以显示图片3 并且设置transition: all 1s可以使图片切换跟顺畅4 在JS中创建一个对象数组imgCollection保...原创 2019-06-09 22:51:42 · 204 阅读 · 0 评论 -
Js高程学习记录第8章BOM
window作用域window.open()timeout interval对话框locationslice splice splitnavgator浏览器插件检测方法historywindow作用域window.open()timeout & interval对话框location & slice splice split复习Navig...原创 2019-08-22 18:19:32 · 96 阅读 · 0 评论 -
Js高程第十章DOM-Node类型
节点的childNodes属性 <div id='box'> <p>1-div</p> <div> <p>2-div</p> <h1>2-div</h1> </div> </div> <script> ...原创 2019-08-26 14:27:47 · 99 阅读 · 0 评论 -
Js高程第十章DOM-document
取得html各属性 var html = document.documentElement //html body = document.body //body doctype = document.doctype//不同浏览器支持不一致 用处有限 title = document.title //网页title url =...原创 2019-08-27 22:46:17 · 69 阅读 · 0 评论 -
async/await初步使用
koa项目中的async/await使用router.get('/testAsync', async ctx => { global.console.log('start', new Date().getTime()) const a = await new Promise((resolve, reject) => { setTimeout(() => { ...原创 2019-08-28 09:57:25 · 162 阅读 · 0 评论 -
koa中间件
koa中间件执行顺序顺序为1start2 start3 start3 end2 end1 end原创 2019-08-28 10:16:54 · 96 阅读 · 0 评论 -
JS究极快速排序 in-place 改进快排
普通快排 const quickSort = (arr) => { let left = [], right = [], len = arr.length, pivot = arr[0] if (len < 2) { return arr } for (l...原创 2019-08-29 21:46:47 · 293 阅读 · 0 评论 -
Js高程十一章 DOM扩展
11.1选择符API1.querySelector()方法 接受一个css选择符参考dom结构 : <div id="myDiv"> <em class="uesrname current">e1</em> <em class="sel">e2</em> <em class="sel">e3&l...原创 2019-08-30 17:26:50 · 136 阅读 · 0 评论 -
JavaScript 数据类型
3.4 数据类型UndefinedNullBooleanNumberStringObject3.4.1 typeof 操作符ECMAScript 为松散类型(即var),用typeof可以检测数据类型。var message = &amp;quot;some string&amp;quot;;alert(typeof message); //&amp;quot;string&amp;quot;原创 2018-12-11 17:22:35 · 100 阅读 · 0 评论