随笔分类 - js基础
b站学的js基础
摘要:slice() —-可以通过索引来从数组中提取指定元素 —-该方法不会改变元素数组,而是将截取到的元素封装到一个新的数组中返回。 —参数 1(必须):截取开始的位置的索引,包含开始索引。 2(可选):截取结束的位置的索引,不包含结束索引。不写该参数则会截取从开始到最后的所有元素。 索引可以传一个负值
阅读全文
摘要:forEach 一般我们都是使用for循环去遍历数组,JS中还为我们提供了一个方法,用来循环遍历数组。 forEach() —这个方法只支持IE8以上的浏览器, IE8以下的浏览器均不支持该方法,所以如果需要兼容IE8,则不要使用forEach,还是使用for循环来遍历。如果在IE8以下使用会报错。
阅读全文
摘要:所谓的遍历数组,就是将数组中所有的元素都取出来 var arr=['孙悟空','猪八戒','沙悟净']; //所谓的遍历数组,就是将数组中所有的元素都取出来 for (var i=0;i<arr.length;i++) { console.log(arr[i]); } 输出结果:
阅读全文
摘要:push() —-该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度。 —-可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾。 —-该方法会将数组新的长度作为返回值返回。 比如: var arr=['孙悟空','猪八戒','沙悟净']; console.log(a
阅读全文
摘要:使用字面量来创建数组 语法:[]; //创建数组对象 var arr=[]; console.log(typeof arr); 使用字面量创建数组时,可以在创建时就指定数组中的元素 //创建数组对象 var arr=[10,20,30,40]; console.log(arr); 使用构造函数创建数
阅读全文
摘要:数组(Array) —-数组也是一个对象 —-它和我们普通对象功能相似,也是用来存储一些值的 —-不同的是普通对象是使用字符串作为属性名的,而数组是使用数字来作为索引来操作元素的。 —-索引: 从0开始的整数就是索引。 —-数组的存储性能比普通对象要好,在开发中我们经常使用数组来存储一些数据。 实际
阅读全文
摘要:垃圾回收(GC) 就像人生活的时间长了会产生垃圾一样,程序运行过程中也会产生垃圾, 这些垃圾积攒过多以后,会导致程序运行的速度过慢,所以我们需要一个垃圾回收的机制,来处理程序运行时产生的垃圾 当一个对象没有任何的变量或属性对它进行引用,此时我们将永远无法操作该对象,此时这种对象就是一个垃圾,这种对象
阅读全文
摘要:当我们直接在一个页面里打印一个对象时,实际上是输出对象的toString()方法的放回值。(自带的浏览器) <script> //创建一个构造函数 function Person(name,age,gender){ this.name=name; this.age=age; this.gender=
阅读全文
摘要:找对象自己的属性 使用in检查对象中是否有某个属性时,如果对象中没有但是原型中有,也会返回true; 可以使用hasOwnProperty()方法来检查对象自身中是否含有该属性 <script> //创建一个构造函数 function MyClass(){ } //向MyClass原型对象中添加一个
阅读全文
摘要:将saynaem在全局作用域里定义 将函数定义在全局作用域,污染了全局作用域的命名空间,而且定义在全局作用域也很不安全, <script> function Person(naem,age,gender){ this.name=naem; this.age=age; this.gender=gend
阅读全文
摘要:创建一个Person构造函数 —-在Person构造函数中,为每一个对象都添加了一个sayname方法,目前我们的方法是在构造函数内部创建的,也就是构造函数每执行一次就会创建一个新的sayname方法,也就是所有的实例的sayname方法都是唯一的。这样就导致了构造函数执行一次就会创建一个新方法,比
阅读全文
摘要:创建一个构造函数 js的构造函数就相当于C#中的类,只是ES5之前js没有类class这个用法,都用构造函数模拟类。 创建一个构造函数,专门用来创建Person对象的。 构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。 构造函数和普通函数的区别就是调用方式的
阅读全文
摘要:使用工厂方法创建对象 使用该方法可以批量创建对象 <script> function createperson(name,age,gender){ var obj=new Object(); obj.name=name; obj.age=age; obj.gender=gender; return
阅读全文
摘要:—-解析器(浏览器)在调用函数每次都会向函数内部传递进一个隐含的参数 这个参数就是this,this指向的是一个对象,这个对象我们称为函数执行的上下文对象,根据函数的调用方式不同,this会指向不同的对象。 1,以函数方式调用时,this永远都是指向window。 2,以方法的形式调用时,this就
阅读全文
摘要:作用域 作用域指一个变量的作用的范围 在js中一共有两种作用域: 1.全局作用域 —-直接编写在script标签中的js代码,都在全局作用域。 全局作用域在页面打开时创建,在页面关闭时销毁。 —-在全局作用域中有一个全局对象window,我们可以直接使用,它代表的是一个浏览器的窗口,它由浏览器创建,
阅读全文
摘要:枚举对象中的属性 使用for…in 语句 语法:for(var 变量 in 对象){ } for…in 语句 :对象中有几个属性,循环体就会执行几次。每次执行时,会将对象中的一个属性的名字赋值给变量。 var obj={ name:"孙悟空", gender:'男', hobby:'乒乓球', ag
阅读全文
摘要:立即执行函数(函数自调用) 函数定义完,立即被调用,这种函数叫做立即执行函数,立即执行函数往往只执行一次 一般函数调用语法:函数对象(); 而匿名函数(立即执行函数)调用语法如下: (function(){ alert('我是一个匿名函数'); })() 传参如下: (function(a,b){
阅读全文
摘要:return 可以使用return来设置函数的返回值 语法:return 值; 函数如果有返回值需要定义一个变量(容器)来接收,在函数中return后面的语句不会被执行。 如果return 语句后不跟任何值就相当于返回一个undefined,如果函数中不写return,则也返回undefined r
阅读全文
摘要:可以在函数的()中来指定一个或多个形参(形式参数),多个形式参数之间用逗号(,)隔开,声明形式参数就相当于在函数内部声明了对应的变量,但是并没有赋值。 在调用函数时,可以在()中指定实参(实际参数),实参将会赋值给函数中对应的形参。调用函数时解析器(浏览器)不会检查实参的类型,所以要注意,是否有可能
阅读全文
摘要:函数function —函数也是一个对象。 —函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)。 —函数中可以保存一些代码在需要的时候调用。 —使用typeof检查一个函数对象时,会返回一个function 比如: var fun=new Function(); console.lo
阅读全文