自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 2021-08-30贪吃蛇项目的问题细节

1.link的rel属性rel 属性规定当前文档与被链接文档之间的关系。只有 rel 属性的 “stylesheet” 值得到了所有浏览器的支持。其他值只得到了部分地支持。语法:step1: 引路径(引css和js)2.margin取值3.相对定位...

2021-08-31 22:28:17 107

原创 2021-08-30js加载时间线(重要)

浏览器加载时间线1.创建document对象,开始解析web页面,解析html元素和他们的文本内容添加Elenment对象和Text节点到文档中。这个阶段document.readyState=“loading”.2.遇到link外部css,创建线程加载,并继续解析文档3.遇到script外部js,并且没有设置async,defer(同步加载),浏览器加载,并阻塞 ,等待js加载完成并执行该脚本,然后继续解析文档4.遇到script外部js,并且设置async,defer(异步加载),浏览器创建线.

2021-08-30 22:44:10 145

原创 2021-08-29json

异步加载:如何实现?不会阻断HTML CSS的下载,defer:只有IE9以下能用和htmlcss并行下载也可以这样在里面写:代码可以写到内部执行:正常js标签:下载完毕执行,执行完后加载html,cssdefer:整个页面解析完毕,即dom树生成完 ,页面加载完之前(有文字图片没有加载完)async :IE9九以下不行加载完就执行,只能写scr,不能在内部写重点:script.src="demo.js"这时,进行下载,在执行后两行document.head.appe..

2021-08-29 22:41:31 744

原创 2021-08-18事件二

拖拽:

2021-08-20 13:51:31 271

原创 2021-08-17事件一 事件处理模型(冒泡,捕获)取消冒泡和阻止默认事件 事件对象 事件委托

1.事件冒泡:结构上(非视觉上)嵌套关系的元素会存在冒泡功能,同一事件,自子元素冒泡向父元素点黄的黄绿红的class全都会显示。点击子元素,一级一级冒泡到父元素。代码:自底向上改变一下位置:视觉上不是嵌套的,但结构上还是嵌套的点击黄色区域:2.事件捕获:先父元素,再子元素(自顶向下)IE没有将false改成true,冒泡直接变获取//红绿黄一定是先捕获后冒泡一个对象的一个事件类型,上面绑定的一个处理函数,只能遵循一个处理模型现在在一个对象的一个事件类型,上面绑定的两.

2021-08-17 22:46:54 87

原创 2021-08-16事件一如何绑定事件处理函数 事件处理程序运行环境 解除事件处理程序

1.句柄的方式:2.addEventListener(事件类型,处理函数。false)一个事件可以绑定多个处理程序:按顺序执行若两个一样的执行函数:执行两个,长得一样,但是地址不一样但是,这里的test是一个人,所以只执行一遍3.div.attachEvent(“onclick”,function())功能和addeventlistenr(“click”,fn,false)一样,但这个更强大,同一个函数绑定多次,也能执行(但只能IE用)例题:注意闭包,要用立即执行函数解决:.

2021-08-16 23:57:54 113

原创 2021-08-15脚本化css

style属性(只有他可以进行读取操作)类数组:可以显示所有他可以用的属性可以修改:将“-”变成小驼峰式可以写(添加):。style展示的是行间的样式表:读的写的都是写在行间样式内读的写的都是写在行间样式内保留字:复合属性尽量拆开写读取操作:获取了当前元素所展示一切css的显示值getComputedStyle.属性 看展示出的是什么(看权重)style只看行间有没有getComputedStyle.属性不能写入:getComputedStyle.

2021-08-15 19:48:03 58

原创 2021-08-14BOM基本操作(不会考)

滚动条:纵向:横向:写工具库里:求滚轮滚动距离:工具库:// An highlighted block//可视窗大小function getViewportOffset(){ if(window.innerWidth){ return{ w:window.innerWidth, h:window.innerHeight } }else{ if(document.com.

2021-08-14 23:09:30 70

原创 2021-08-14定时器

定时器setInterval定时(循环)器setInterval:每隔time时间,执行一次function,之后的time不管怎么变,都不会改变这个time的时间,但会执行这个语句看时间准不准:setInerval不准clearInterval写定时器必须写接返回值的变量返回值作为唯一标识:第一定时器,第二定时器。。。。这样利于清除清除定时器:setTimeout 定时器(延缓一段时间然后执行)例子:非会员试看五分钟clearTimeout取消setTimeout

2021-08-14 21:23:13 96

原创 2021-08-14Date()

日期对象系统提供好的,构造函数 Date()建立new对象var datevar date=new Date()

2021-08-14 20:28:47 73

原创 2021-08-14DOM操作课后作业

1.insertAfter:在标签(元素)后面添加新标签(元素):2.节点逆序:用appendChild

2021-08-14 19:37:47 63

原创 2021-08-13DOM基本操作 二

一 DOM基本操作增加一个元素节点创建元素节点:createElement()但是还没有增添到页面里。创建文本节点:createTextNode()创建注释节点:createComment()插入任何一个元素节点都有appendChild方法=push剪切操作:挪了个地方放置,原来的没有了插入谁里.insertBefore(目标,放在谁前);删除节点将i标签剪切出来(返回结果)真正销毁:remove()替换原来的strong只是被...

2021-08-13 22:47:09 86

原创 2021-08-13DOM基本操作一

继承关系:就近继承:3.getElementByTagName(),定义在Document和Element上,div是element选择所有标签4.5.

2021-08-13 14:34:59 45

原创 DO选择器 节点类型

dom基本操作遍历节点树1.parentNode->父节点(最顶端的parentNode为#document)一切dom元素都有。parentNode2.childNodes->子节点们3.firstChild/lastChild4.nextSibling后一个兄弟节点/previousSibing前一个兄弟节点遍历元素节点树(除了children以外都是IE9以下不兼容)1.parentElement 返回当前元素的父元素节点(IE不兼容)docume

2021-08-12 20:21:18 113

原创 2021-08-11dom

一:简单变换// An highlighted block<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head&gt

2021-08-12 15:07:13 47

原创 2021-08-011try catch

try{} catch{}一堆代码放在try里,代码有错,但是不报错,不终止后续代码的执行在try里面的发生错误,不会执行错误后的try里面的代码如果没有错误:catch是什么?如果try里面没有出错,catch就不被执行打印错误信息和错误名称把错误对象传递到e里面去,这里的e可以随便起名字:Error.name的六种值对应的信息:es5严格模式基于Es3和es5的新增方法...

2021-08-11 14:44:27 52

原创 2021-08-06工具方法

工具方法:返回object有数组,对象,包装类(数字,布尔值,字符串):数组去重:

2021-08-06 15:17:55 48

原创 2021-08-06类数组

类数组:类数组:属性要为索引(数字)属性必须要有length属性最好加上push是对象,可以当数组用。阿里巴巴题:原理在注释处,结果:

2021-08-06 12:49:19 47

原创 2021-08-05数组

1.数组的定义:数组字面量 var arr=[];构造方法:var arr=new Array();都来源于:Array.prototype区别:一个传入的话,表达长度为X的数组2.读和写基本不会报错:3.数组的常用方法(1)改变原数组1.push(参数(要加入数组的数)):在数组后面添加:2.pop(无参):把数组的最后一位剪切出来(2)不改变原数组...

2021-08-05 15:21:01 57

原创 2021-08-05深层拷贝

深层拷贝:

2021-08-05 11:56:03 45

原创 2021-08-05this笔试真题讲解(待更...)

//4 42.//1 2 3 4 5

2021-08-05 11:23:19 45

原创 2021-08-04枚举

(1)(2)中括号访问属性实例:枚举1.for in循环的作用:遍历属性例一:原因:obj.prop系统以为你要访问它的属性即obj[‘prop’]改正方法:例子:将原型里面的内容都显示出来了2.要判断属性是不是我自己的:对象.hasOwnProperty(属性):3.in:对象能不能访问到这个属性(基本不用)对象能不能访问到这个属性,不一定就是自己的属性:注意有引号,不可以直接写会辨认成变量对象能不能访问到这个属性,不一定就是自己的属性:4.i

2021-08-04 23:07:12 34

原创 2021-08-04继承发展历史

1.传统:2.借用构造函数:3.共享原型 :两个原型都指向一个还有一个方法:不足:给son加属性,son.prototype.sex=male;导致father.prototype也有这个属性,所以:4.圣杯模式:F作为中间层,F和Father有共同的原型Father.prototype,Son的原型是F,即Son可以继承F,Father.prototype,但是给Son.prototype加属性,是给F加,不会影响Father了.即:son的原型,不会影响father了.

2021-08-04 13:52:16 39

原创 call/apply 三

1.作用:改变this指向任何一个方法都可以.callcall传参数后,可以让Person里的所有this全指的是obj(this原本指的是window)寻找代工厂:借用别人的函数,实现自己的功能流程:一旦new,产生一个var this{},这两个this是一个人把个里面的this,传到这里来,将下面函数的参数传递结果放到上面,用Person的方法,实现自己功能的封装。要哪个工厂,就用哪个工厂.call(this,参数1,参数2…)2.call/apply区别:即

2021-08-04 00:06:25 45

原创 原型链 二

1.如何构成原型链原型链的终端是Object2.原型链上属性的增删改查删除,修改,增加要本人,子孙不能。例子:通过son想给他的父亲father改变属性fortune,son.fortune=200;结果,他父亲father.fortune没变依然是card1:“visa”。例子:可以调用修改:son.fortune.card2=‘master’son的父亲father的属性中fortune就有了card2:(存在疑问,为什么和上述例子一样,都是.fortune,这个就可以修改父

2021-08-03 23:38:39 61

原创 原型....一

1.定义:祖先作用,属性方法可以被执行构造函数:大驼峰式生产对象newPerson.prototype原型Person在刚刚出生的时候,Person.prototype={}就定义好了是一个空对象,是Person构造函数的对象的公共祖先,可以继承祖先的属性person这个对象可以继承他的祖先Person.prototype的属性,但是直接输入person,不会显示出来。原型是Person制造出的所有对象的共有祖先:对象自己设置的属性,先访问自己的,没有了再找原型的:2.利用原型的

2021-08-03 14:24:22 58

原创 2021-08-01输出字节题

// An highlighted block<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><b.

2021-08-02 15:05:31 61

原创 对象和包装类

对象:属性 ,方法将mrDeng换成this=“我”增删改查增:mrdeng.wife=“xiaowang”;删:delete mrdeng.sex(属性不存在访问的话,会返回undefined,变量没经过声明就使用,会报错)对象的创建方法1.var obj={}2.构造函数:1.系统自带的构造函数Arry() Number() Object()var obj=new Object()2.自定义(大驼峰):function Person(){} var person1=new P

2021-08-01 18:02:36 50

原创 闭包精讲三

闭包:两个函数互相嵌套,把里面的函数保存到了全局,形成闭包。里面的函数在外面执行的时候一定能调用得了原来在的那个函数环境里的变量 。// An highlighted block<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1

2021-07-31 20:12:50 49

原创 闭包二

//10个10函数在定义的时候,不看函数里的东西,执行的时候再看里面装的是啥。在 myArrj;时,再看arr[i]=后面的function,因为i=10,所以执行结果为十个十。用闭包解决闭包:(十对一=>十对十)很重要!!!用立即执行函数,使输出变成0123456789第一圈i=0,i作为参数传进这个立即执行函数中,第一个立即执行函数里面的j为0,立即执行函数里面的函数function(){document。write}在立即执行函数中产生,所以站在立即函数的肩膀上看世界,立即函数执..

2021-07-31 15:51:46 56

原创 2021-07-31立即执行函数

针对初始化功能的函数var num=(function (A,B,C){var A=123;var d=A+B+C*2-2console.log(A);return d;}(1,2,3))参数返回值(除了改颜色的不用返回值)只有表达式才能被执行符号执行(可执行),忽略表达式名字,成为立即执行函数,被永久放弃放正负号叹号,让它成为可执行表达式,忽略表达式名字,成为立即执行函数函数声明,不叫表达式,不能执行(会报错)由于大括号,将它变成表达式,后边的小括号放里放外都可以。tes

2021-07-31 12:25:08 39

原创 闭包一

举例a执行时:a执行时,b被定义:a执行完后,砍掉自己的AO:但是,b还在,因为return b了。这个过程叫闭包:但凡是内部的函数被保存到了外部,一定生成闭包。举例:GO{a:functiondemo:undefined}AO{num~~:undefined~~ 100 101b:function()}AO{}//101 102闭包作用:1.实现公有变量(累加器)2.做缓存:例一:例二:3.可以实现封装,属性私有化4.模块开发,防止

2021-07-30 14:27:01 58

原创 作用域 作用域链精讲

作用域精解运行期上下文:AO GO[[scope]]:存了一个作用域链,每个链是由多个执行期上下文连起来的// An highlighted blockfunction a(){ function b(){ var b=234; } var a=123; b();}var glob=100;a();系统先看到a定义,a有一个scope,里面存一个全局的执行上下文,a被指行了,产生了一个AO,把自己的AO放在最顶端,形成一个新的作用域链。a的

2021-07-29 20:13:51 46

原创 预编译---

函数作用域初探1.作用域定义:孙子最舒服。里面可以访问外面函数定义的变量,外面不可以访问里面函数定义的变量2.js进行三部曲一,预编译函数声明整体提升,变量 声明提升。(1)// An highlighted blockfunction test(){ console.log("a");}test();放在该代码前和代码后都可以执行成功函数声明整体提升:函数整个声明全部放在前面,即function 这一堆全放在script标签后面(2)// An highlighted

2021-07-29 14:07:28 76

原创 递归====

两个条件1.找规律2.找出口function mul(n){ //n的阶乘 if(n==1){ return 1; } return n*mul(n-1);}document.write(mul(4));

2021-07-20 00:09:47 47

原创 函数

函数一、函数定义(一)、函数声明1.注意打印函数名,会返回整个函数function testFirsthello(){ document.write("hello");}document.write(testFirsthello);(二)、函数表达式一、命名函数表达式1.形式样子var test=function test(){ document.write("hello");}var test=function abc(){ document.writ

2021-07-19 13:28:31 57

原创 2021-07-17

++/–a++先调 number(a),变数字,再+1+/-(正负)调 number(a),变数字+(加号)变成string类型*/%/-/+调 number(a),变数字&& || !> + < <= >=数字优先===绝对等于!===

2021-07-17 18:14:32 35

原创 isNaN()隐式规则

isNaN()先看number()的结果,看能转换成数字不如果number后为NaN(不能)则isnan()为true,否则为falseNumber(null);->0Number(undefined);->nan// An highlighted blockconsole.log(isNaN("aba"));//true//Number("aba");->nanconsole.log(isNaN(null));//flase//Number(null);->0co

2021-07-17 14:52:23 102

原创 用parseint和tostring进行进制转换

用parseint和tostring进行进制转换练习:2—8---10—16// An highlighted blockvar num=10000;num=parseInt(num,2);//告诉他这是二进制,让他输出十进制console.log(num);console.log(num.toString(8));//输出他的八进制形式num=num.toString(16)//输出他的16进制形式console.log(num);...

2021-07-17 14:38:36 153

原创 toString

toString方法正常用法:num.toString()// An highlighted blockvar num=10.2;var numN=num.toString();console.log(typeof(numN)+":"+numN);undefined,null没有这个属性,会报错参数:要转化成几进制,括号里就写几// An highlighted blockvar num=10.2;var numN=num.toString(2);console.log(typ

2021-07-17 14:27:55 49

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除