JavaScript
文章平均质量分 53
再掌握一些的大概的基础上进一步深入
Tiny_G
If we desire, we can create the whole world
展开
-
day18.正则表达式
1.背景知识转移字符:\n \r \t \f应用:当用到document.innerHTML =""想让在写字符时候,有层次关系,按照正常的html写,有可读性,可以每行末尾加\转义掉空格和回车//字符串拼接也可以// document.body.innerHTML ="" + // "<div><div>" + // "</div></div>" + // "<div></div>原创 2022-02-12 11:21:55 · 300 阅读 · 0 评论 -
day17.json,异步加载,时间线
1.json(静态类)定义:JSON是一种传输数据的格式(本质上是对象,但与对象有区别,对象是本地使用的,json是用来传输的。其属性名必须加双引号)相关方法方法名作用JSON.parse()string->jsonJSON.stringfy();json->string注:浏览器解析代码生成DOM树和CSS树,在解析的时候时候只识别是那种标签,解析跟资源下载的过程是异步的,最后csstree和domtree会生成一棵rande原创 2022-02-12 11:16:47 · 64 阅读 · 0 评论 -
day16.事件
如何绑定一个事件一般分为三种方法:句柄绑定:div.onclick = function () {}特点:兼容性非常好,但是一个元素的同一个时间上只能绑定一个处理函数基本等同于写在HTML行间上//相当于这样:<div onclick = "console.log('a')"></div>var div = doucument.getElementsByTagName('div')[0]div.onclick = function () { ..原创 2022-02-12 11:08:32 · 360 阅读 · 0 评论 -
day15.DOM基本操作CSS脚本化
BOM基本操作1)查看滚动条的滚动距离IE9以上的方法:window.pageXoffset/pageYOffsetIE8及IE8以下兼容方法:①document.body.scrollLeft/scrollTop ②documentElement.scrollLeft/scrollTop注意:由于兼容性特别混乱,因此以上两种方法没有对应绝对的浏览器版本。在一个浏览器中或许这个有用,或许那个有用。但两个方法在同一浏览器是“互斥的”,当一个有值的时候另一个一定是0,所以..原创 2022-02-12 11:05:31 · 388 阅读 · 0 评论 -
day14.date对象and定时器
定时(循环)器setInterval:Window上的方法作用:定时循环执行 var time = 1000; setInterval(function (){ },time) time = 2000;//不好使setInterval计时不准的部分原因:JS引擎是单线程,执行的方式是时间片轮询,同一时间只能执行一个片段,但函数只是到了特定时间会把执行内容放到执行的栈里面,但是具体什么时候执行就不能保证返回值:每一个定时器都会返回一个数字,作为一个唯一表示,清除的时..原创 2021-05-30 23:34:49 · 72 阅读 · 0 评论 -
day13.DOM
结点的类型元素结点属性结点文本结点注释结点documentDocumentFragment获取结点类型:nodeType节点的四个属性nodeName:元素的标签名,以大写形式表示,只读nodeValue:Text节点或Comment节点的文本内容,可读写nodeType:该节点的类型,只读attributes:Element节点的属性集合节点的一个方法:Node.hasChildNodes()DOM结构树继承关系:document->HT..原创 2021-05-30 23:31:29 · 50 阅读 · 0 评论 -
ES6常用语法
一. const定义常量ES6之前并没有定义声明常量的方式,ES6标准中引入了新的关键字const来定义常量。const a = 1; a = 3; console.log(a);//报错二、let块级变量用let定义的变量只在块当中起作用,离开变量外界的块(括号)就会被销毁。 if(2 >1){ let a =10; } console.log(a);// 报错 a is not undefine三.模板字面量用于字符串拼接和写模板,原创 2021-04-27 19:43:28 · 93 阅读 · 0 评论 -
day12.try..catch
1.try{ }catch(e){ }在try里面发生错误,try里面后面的都不会执行的try{}catch(e){}finally{}Error.name的六种值对应的信息:1.EvalError: eval()的使用与定义不一致2.RangeError:数值越界3.ReferenceError:非法或不能识别的引用数值4.SyntaxError:发生语法解析错误5.TypeError:操作数类型错误6.URIError : URI处理函数使用不当2.ES5严格模式浏览器一般基于原创 2021-04-05 23:19:24 · 64 阅读 · 0 评论 -
day11.数组和对象
数组:是一种特殊的对象数组的定义new Array(length/content);var arr = new Array();var arr = new Array(1,2,3);var arr1 = new Array(10);//长度为10的数组字面量var arr = [];var arr = [1,2,3];数组的读和写arr[num] //不可以溢出读arr[num] = xxx; //可以溢出写ES3.0中数组的方法改变原数组..原创 2021-04-05 23:18:48 · 53 阅读 · 0 评论 -
day10.this
this函数预编译过程this—> window全局作用域里this —> windowcall/apply可以改变函数运行时this指向obj.fun.c(); func()里面的this指向objarguments.callee:函数引用var num =( function (n) { if(n == 1) { return 1; } return n * arguments.callee(n - 1);}(100)..原创 2021-03-17 22:21:37 · 49 阅读 · 0 评论 -
day9.继承模式、命名空间、对象枚举
继承发展史传统形式—->原型链过多的继承了没用的属性借用构造函数不能继承借用构造函数的原型每次构造函数都要多走一个函数function Person( name, age, sex) {this.name = name;this.age = age;this.sex = sex;}function Student ( name, age, sex, grade) {Person.call(this, name, age, sex) ;this.grade = gra..原创 2021-03-17 22:21:08 · 66 阅读 · 0 评论 -
day8原型和原型链
原型的定义1.定义︰原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。2.利用原型特点和概念,可以提取共有属性。3.对象如何查看原型—>隐式属性__proto__4.对象如何查看对象的构造函数— > constructor原型的增删改查Person.protype.name = “sss”后代无法改原型的属性js可正常计算的范围:前16位,后16位call/appl..原创 2021-03-17 22:20:33 · 55 阅读 · 0 评论 -
day7.对象和包装类
属性的增、删、改、查增:对象.属性修改:删除:delete 对象.属性对象的创建方法plainObject 对象字面量/对象直接量var obj = {}构造函数创建1)系统自带的构造函数 new Object( ) Array( ) Number( )var obj = new Object();var obj = {}2)自定义(构造函数命名规则符合大驼峰命名规则)function person(){}var person1 = new person();..原创 2021-03-17 22:20:08 · 41 阅读 · 0 评论 -
day6.闭包
闭包现象当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链不释放,造成内存泄露。闭包的作用实现公有变量eg:函数累加器function add() ivar count = 0;function demo( ) {count ++;console.log ( count) ;}return demo;}var counter = add ( );counter( ) ;counter() ;counter( ) ;counter( ) ;count..原创 2021-03-17 22:19:17 · 63 阅读 · 0 评论 -
day5.立即执行函数
立即执行函数定义定义:此类函数没有声明,在一次执行过后即释放。适合做初始化工作。适用条件:针对初始化功能的函数//函数只被执行一次形式:1.(function (形参){ 函数体}(实参));//W3C建议第一种2. (function () {})();只有表达式才能被执行符号执行能被执行符号执行的表达式,这个函数的名字就会被忽略(函数的引用被释放)var test = function () {console.log( 'a ' );}();//这个函数..原创 2021-02-25 14:44:36 · 64 阅读 · 0 评论 -
day4.作用域和作用域链
作用域精解运行期上下文:当函数执行时,会创建一个称为执行期上下文的内部对象(AO)。一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行上下文都是独一无二的,所以多次调用一个函数会导致创建多个执行上下文,当函数执行完毕,它所产生的执行上下文被销毁。查找变量:从作用域链的顶端依次向下查找。[[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供javascript引擎存取,[[scope]]就是其中一个。[[scope..原创 2021-02-19 20:30:54 · 72 阅读 · 0 评论 -
day3.预编译
JavaScript的语言特点单线程,解释性语言js运行“三部曲”语法分析预编译:函数声明整体提升, 变量 声明提升解释执行预编译前奏知识1.imply global暗示全局变量:即任何变量,如果变量未经声明就赋值,此变量就为全局对象所有。eg: a = 123;eg: var a = b = 123;2.—切声明的全局变量,全是window的属性。eg:var a = 123;===> window.a = 123;函数的预编译:发生在函数执行的前..原创 2021-02-19 20:30:21 · 47 阅读 · 0 评论 -
day2.函数
函数特点高内聚低耦合函数定义形式函数声明function 函数名(){代码体}函数名命名规则:下划线,字母,数字,不能以数字开头,驼峰原则函数表达式1)命名函数表达式var test = function abc(){代码块}//这种=后面的function test(){}叫表达式,表达式忽略函数的名字,所以既然没用就用匿名的,即2)2)匿名函数表达式——————因为常用,所以表达式就指的是var demo = function (){代码块}两者区别..原创 2021-02-19 20:29:51 · 48 阅读 · 0 评论 -
day1.JavaScript类型转换
一.浏览器结构shell+内核(渲染引擎,js引擎)二.类型转换显式类型转换函数解释Number(mix)1.Number ()想尽一切办法转成数字, eg:undefined=>NaN, null =>0parselnt(string,radix)1.只能把数字转成整数,对非数字字符串会转换为NaN,eg:‘a’=>NaN,undefined => NaN, null =>02.radix,基底,表示以radix进制转换10进制,详见原创 2021-02-01 20:39:12 · 68 阅读 · 0 评论