
Javascript基础
文章平均质量分 52
Javascript基础知识介绍
请叫我杰拉德6
这个作者很懒,什么都没留下…
展开
-
undefined和null的区别
undefined和null有何区别原创 2022-01-28 10:11:49 · 1609 阅读 · 1 评论 -
DOM添加
document.createElement()可以用于创建一个元素节点对象 ,它需要一个标签名作为参数,将会根据该标签名创建元素节点对象,并将创建好的对象作为返回值返回eg:创建一个 livar li = document.createElement("li");document.createTextNode()可以用来创建一个文本节点对象 需要一个文本内容作为参数,将会根据该内容创建文本节点,并将新的节点返回eg:创建广州文本节点var gzText = document.cre原创 2021-02-10 14:16:18 · 397 阅读 · 1 评论 -
DOM简介及查询
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)HTML DOM 模型被构造为对象的树通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTMLJavaScript 能够改变页面中的所有 HTML 元素JavaScript 能够改变页面中的所有 HTML 属性JavaScript 能够改变页面中的所有 CSS 样式JavaScript 能够对页面中的所有事件做出反应查找 HTML 元素通常,通过 JavaScript,原创 2021-02-01 21:38:56 · 304 阅读 · 0 评论 -
包装类和字符串的方法
创建一个字符串var str = “Hello Word”在底层字符串是以字符数组的形式保存的[""length属性可以用来获取字符串的长度charAt()可以返回字符串中指定位置的字符,根据索引获取指定的字符charCodeAt()可以获取指定位置字符的字符编码(Unicode编码)String.forCharCode()可以根据字符编码去获取字符...原创 2021-01-05 21:52:04 · 215 阅读 · 0 评论 -
Date对象简介
Date对象,在js中使用Date对象来表示一个时间创建一个Date对象,如果直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间var d = new Date()创建一个指定时间的对象,需要在构造函数中传递一个表示时间的字符串作为参数日期的格式: 月份/年/ 时:分:秒var d = new Date("12/03/2020 10:10:10");Date()对象的方法1.getDate()获取当前日期对象是几日2.getDay()获取当前日期对象是周几,会返回一个0原创 2021-01-04 20:51:32 · 1111 阅读 · 0 评论 -
arguments
在调用函数时,浏览器每次都会传递进两个隐含的参数1.函数的上下文对象this2.封装实参的对象argumentsarguments是一个类数组对象(实际不是数组),它也可以通过索引来操作数据,也可以获取长度在调用函数时,我们所传递的实参都会封装到arguments中arguments.length可以用来获取实参的长度我们即使不定义形参,也可以通过arguments来使用实参,只不过比较麻烦arguments[0]表示第一个实参arguments[1]表示第二个实参它里面还有一个属性原创 2021-01-04 20:51:14 · 144 阅读 · 0 评论 -
call()和apply()
call()和apply()这两个都是函数的方法,需要通过函数的对象来调用当对函数调用call()和apply()都会调用函数的执行,和调用fun()是一样的在调用call()和apply()可以将一个对象指定为第一个参数,此时这个对象将会成为函数执行时的thiscall()方法可以将实参在对象之后依次传递apply()方法需要将实参封装到一个数组中统一传递小结_this的情况:1.以函数的形式调用时,this永远都是window2.以方法的形式调用时,this就是调用那个方法的对象原创 2021-01-04 20:50:47 · 84 阅读 · 0 评论 -
数组的简介
数组(Array)数组也是一个对象,它和我们普通对象功能类似,也是用来储存一些值的,不同的是普通对象是使用字符串作为属性名,而数组使用数字作为索引操作元素–>索引从0开始的整数就是索引数组的储存比普通对象要好,在开发中我们经常使用数组来储存一些数据一:①创建数组对象var arr = new Array();②使用字面量创建数组var arr = [ ];在使用字面量创建数组时候,可以在创建时就指定数组中元素var arr = [1,2,3,4,5];–>数组中元素原创 2021-01-03 15:08:01 · 190 阅读 · 0 评论 -
垃圾回收
垃圾回收(GC)就像人生活的时间长了会产生垃圾一样,程序运行过程中也会产生垃圾,这些垃圾积攒过多以后,会导致程序运行的速度变慢,所以我们需要一个垃圾回收的机制,来处理程序运行过程中产生的垃圾当一个对象没有任何的变量或属性对它进行运用,此时我们将永远无法操作该对象,此时这种对象就是一个垃圾,这种对象过多会占用大量的内存空间,导致程序运行变慢,所以这种垃圾必须清理在js中拥有自动的垃圾回收机制,会自动将这些垃圾对象从内存中销毁,我们不需要也不能进行垃圾回收的操作我们需要做的是将不再使用的对象设置为nu原创 2021-01-03 14:42:13 · 86 阅读 · 0 评论 -
原型对象
将函数作用域定义在全局作用域,污染了全局作用域的命名空间,而且定义在全局作用域中也很不安全(因为其他人可能使用重复的名称,这样你之前创建的函数也就被覆盖了)那么,有什么好的方法解决这个问题吗?可以通过原型对象来解决- ->一:我们所创建的每一个函数,解析器都会向函数中添加一个属性prototype,这个属性对应一个对象,这个对象就是我们所谓的原型对象如果函数作为普通函数调用prototype没有任何作用,当函数以构造函数的形式调用时,它所创建的对象中都会有一个隐含的属性,指向该构造函数的原型对原创 2021-01-01 17:40:10 · 105 阅读 · 1 评论 -
构造函数
一:构造函数就是一个普通函数,创建方式和普通函数没有区别,不同的是构造函数习惯①首字母大写!构造函数和普通函数的区别就是调用方式的不同:普通函数就是直接调用构造函数需要②使用new关键字来调用构造函数的执行流程··>1.立刻创建一个新的对象2.将新建的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象3.逐行执行函数中的代码4.将新建的对象作为函数值返回使用构造函数创建Person对象叫做一个类,而per,per1,per2叫做这个类的实例!注意:使用原创 2021-01-01 15:44:19 · 159 阅读 · 0 评论 -
使用工厂的方法创建对象
有时候我们在开发中,需要大量创建对象,如果采用一个一个对象去创建,太繁琐,也不优雅那么,有没有优雅的一些方法用来创建这些对象呢?下面就介绍一下,使用工厂的方法来创建对象,通过该方法可以大批量创建对象...原创 2020-12-26 17:54:06 · 167 阅读 · 0 评论 -
this指向问题
解析器在调用函数每次都会向函数内部传递一个隐含的参数,这个隐含参数就是this,this指向的是一个对象,这个对象我们称为函数执行的上下文对象根据函数的调用方式的不同,this会指向不同的对象1.以函数的形式调用时,this会指向不同的对象2.以方法形式调用时,this就是调用方法的那个对象var getColor = test.getColor 相当于把方法函数赋值给全局变量,故getColor()中的this指向windowtest.getColor()是方法调用...原创 2020-12-26 17:11:35 · 147 阅读 · 0 评论 -
全局作用域和函数作用域
作用域:指的是一个变量的作用范围在js中一共有两种作用域一.全局作用域直接编写在script标签中的js代码,都在全局作用域全局作用域在页面打开时创建,在页面关闭时销毁在全局作用域中有一个全局对象window,它代表的是一个浏览器的窗口,由浏览器创建我们可以直接使用1.在全局作用域中创建的变量都会作为window对象的属性保存创建的函数都会作为window对象的方法保存2.全局作用域中变量都是全局变量,在页面的任意部分都可以访问得到3.变量的声明提前①.使用var关原创 2020-12-24 21:56:29 · 537 阅读 · 0 评论 -
枚举对象中属性
很多时候在开发中,我们想要知道对象里面到底有哪些属性,这时候往往就需要用到枚举对象中属性了语法:for(var 变量 in 对象){}for…in 语句,对象中有几个属性,循环体就会执行几次每次执行时,会将对象中一个属性的名字赋值给变量...原创 2020-12-24 20:11:17 · 185 阅读 · 1 评论 -
立即执行函数
函数被定义完,立即被调用,这种函数叫做立即执行函数,往往只会执行一次function (){alert("我是匿名函数~~");}()//没有定义变量,往往不会执行,会报错在整个函数外边套个括号,让它变成整体,这样调用时候浏览器不会报错(function (){alert("我是匿名函数~~");})()(function(a,b){console.log ("a = " + a);console.log ("b = " + b);})(123,456);//输出"a=123"原创 2020-12-24 20:11:00 · 313 阅读 · 1 评论 -
函数的简介
函数Function,是一个对象,在函数里面可以封装一些功能代码块,在需要的时候可以执行这些功能,封装到函数中的代码不会立即执行,它会在函数调用的时候执行,使用typeof检查一个函数对象时候,会返回function调用函数语法:函数对象()当调用函数对象时候,函数中的代码会按照顺序执行一.创建一个函数①使用函数声明来创建一个函数语法:function 函数名(形参1,形参2,形参3…形参n){语句…}function fun1(){console.log("这是我得第一个函数~~~原创 2020-12-24 20:10:25 · 993 阅读 · 0 评论 -
对象的简介
基本数据类型都是单一的值,如:“hello”,123,true,值和值之间是没有任何联系那么在js中来表示一个人的信息(name, gender ,age):var name = “孙悟空”;var gender = “男”;var age = 18;如果使用基本数据类型的数据,我们所创建的都是独立的,不能成为一个整体!所以在js中给我们提供一个引用数据类型,Object对象,是属于一种复合的数据类型,在对象中可以保存多个不同的数据类型的属性一.对象的分类1.内建对象由ES标椎中定义的对象,原创 2020-12-22 22:39:34 · 437 阅读 · 0 评论 -
基本数据类型和引用数据类型的同与不同
1.相同之处基本数据类型:String Number Boolean Null Undefined引用数据类型:Object他们的变量都是保存到栈内存中的2.不同之处①基本数据类型的值直接在栈内存中保存,值与值之间是相互独立的,修改一个变量不会影响到其他变量var a = 123;var b = a;a++;console.log(b);//输出:123但是,对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两原创 2020-12-22 22:31:25 · 251 阅读 · 0 评论 -
循环语句
创建一个循环往往需要三个步骤//1.初始化一个变量var i = 0 ;//2.在循环中设置一个条件表达式while(i < 10){alert(i);//3.定义一个更新表达式,每次更新初始化变量i++;}while循环语句语法:while(条件表达式){语句...}执行流程:先对表达式进行求值判断如果值为true,则执行循环,循环执行完毕后,继续对表达式进行判断,如果为true,则继续执行循环体,以此类推如果值为false,则终止循环do…while循环语原创 2020-12-21 22:43:19 · 110 阅读 · 0 评论 -
条件分支语句
条件分支语句也叫switch语句语法:switch(条件表达式){case 表达式:语句...break;case 表达式:语句...break;default:语句...break;}执行流程在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较如果结果为true,则从当前的case处开始执行代码,不过注意,当前case代码后的所有代码都会执行,可以在后面加一个break关键字,这样可以确保只执行当前case后的语句,而不会执行其他的case语原创 2020-12-21 21:59:11 · 575 阅读 · 0 评论 -
条件判断语句
使用条件判断语句可以在执行某个语句之前进行判断如果条件成立才会执行语句,条件不成立语句不执行if语句语法一:if(表达式) 语句if语句在执行时,会先对条件表达式进行求值判断如果条件表达式的值为true,则执行if后的语句如果条件表达式的值为false,则不会执行if后的语句注意:if语句只能控制紧随其后的那个语句,如果希望if语句可以控制多条语句,可以将这些语句统一放到代码块中,这些代码块不是必须的,但是在开发中尽量写上语法二:if(表达式){语句原创 2020-12-20 17:09:04 · 531 阅读 · 0 评论 -
运算符的优先级
就和数学中一样,在js中运算符也有优先级比如:先乘除后加减在js中有一个运算符优先级的表在表中越靠上优先级越高,优先级越高就优先运算如果优先级一样,则从左往右算这个表我们并不需要记忆,如果遇到优先级不清楚,可以使用()来改变优先级...原创 2020-12-20 14:07:39 · 193 阅读 · 0 评论 -
条件运算符
条件运算符也叫三元运算符语法:条件表达式?语句1:语句2;执行的流程:1.条件运算符在执行时候,首先对条件表达式进行求值如果该值为true,则执行语句1,并返回执行结果如果该值为false,则执行语句2,并返回执行结果2.如果条件表达式中的求值不是一个布尔值,会将其转换为一个布尔值,然后再运算...原创 2020-12-20 13:34:51 · 672 阅读 · 0 评论 -
相等运算符
== 相等运算相等运算符用来比较两个值是否相等,如果相等返回true,否则就会返回false如果值的类型不同,则会自动进行类型转换 ,将其转换为相同的类型,然后再比较!= 不相等运算如果不相等返回true,否则就会返回false不相等运算也会进行自动的类型转换,如果转换后相等它也会返回false特殊1:Null不会自动转换为Number特殊2:undefined衍生自null,所以这两个值做相等判断时,会返回true特殊3:NaN不和任何值相等,包括它本身那现在有原创 2020-12-19 16:15:06 · 606 阅读 · 1 评论 -
关系运算符
通过关系运算符可以比较两个值之间的大小关系,如果关系成立它会返回true,如果关系不成立则会返回false大于号(>)判断符号左侧的值是否会大于右侧的值,如果关系成立返回true,如果关系不成立则返回false大于等于(>=)判断符号左侧的值是否会大于或等于右侧的值小于号(<)判断符号左侧的值是否会小于右侧的值小于等于(<=)判断符号左侧的值是否会小于或等于右侧的值注意:任何值和NaN比较都是false非数值的情况对于非数值进行比较时,会将其转原创 2020-12-19 15:25:54 · 359 阅读 · 1 评论 -
逻辑运算符
js中逻辑运算符分为三种!非!可以用来对一个值进行非运算,就是对一个布尔值进行取反操作,true变false,false变true如果对一个值进行两次取反,它不会变化如果对非布尔值元素,则会转换为布尔值,然后再取反,所以我们可以利用这一特点,来将一个其他数据类型转换为布尔值,可以为一个任意数据类型进行两次的取反,来将其转换为布尔值,原理和Boolean()函数一样&& 与&&可以对符号两侧的值进行运算并返回结果运算规则:两个值中只要有一个值为false原创 2020-12-18 21:35:13 · 131 阅读 · 2 评论 -
一元运算符
一元运算符:只需要一个运算符正号(+),不会对数字产生任何影响减号(-),可以对数字进行负号的取反对于非Number类型的值,它会先将转换为Number,然后在进行运算,可以对一个其他的数据类型使用+,来将其转换为Number,它的原理和Number()函数一样自增和自减也属于一元运算符自增++:通过自增可以使变量在自身的基础上增加1对于一个变量自增以后,原变量的值会立即自增1自增分为2种:后++(a++)和前++(++a),无论是a++还是++a,都会立即使原变量的值自增1原创 2020-12-18 20:21:56 · 6838 阅读 · 1 评论 -
算数运算符
一:加号运算符(+)可以对两个值进行加法运算,并将结果返回1.如果对两个字符串进行加法运算,则会做拼串,2个字符串拼接为一个字符串,并返回2.任何值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串操作,我们可以利用这一特点,将一个任意的数据类型转换为String,我们只需要为任意的数据类型+一个" ",即可将其转换为String,这是一种隐式转换,实际上也是调用String()函数二:减法运算符(-)可以对两个值进行减法运算,并将结果返回三:乘法运算符(*)可以对两个值进行乘法运算原创 2020-12-17 21:53:47 · 141 阅读 · 0 评论 -
js中数据类型和数据转换
我们知道js中数据类型分为2大类,第一类是基本数据类型,第二类是引用数据类型一基本数据类型:1.String2.Number3.Boolean4.Undefined5.Null二引用数据类型:1.Object2.Function3.Array那么数据类型之间是如何转换的呢?将其他数据类型转换为String方式一:1.调用被转换数据类型的toString()方法 //ps:调用a的toString()方法 = a.toString(),该方法不会影响到原来变量,它会将转换的结果返回,原创 2020-12-17 20:06:47 · 196 阅读 · 0 评论