对Js的基础理解笔记

it2024-01-02  59

JavaScript基础笔记

1.内置对象

什么是内置对象:
Javascript中的对象分为3种:自定义对象、内置对象、浏览器对象。 前两种对象是js基础内容,属于ECMAScript,第三种浏览器对象属于js独有的。js apl讲解内置对象就是指js语言自带的一些对象,这些对象供开发者使用,或是提供一些最基本而且必要的功能,最大的优点是帮助我们快速开发。

JavaScript提供多个内置对象:Math、Date、Array、String等

Math对象
Math对象属性

Math对象方法

获取指定范围内的随机整数:

日期对象
Date对象和Math对象不一样,Date是一个构造函数,所以使用时需要实例化后才能使用其中具体方法和属性。Date 实例用来处理日期和时间 创建日期对象的方法:

to开头的方法时间转为字符串

to开头的方法是将时间转换为字符串

get开头的方法是获取时间和日期值

日期转换方法

set开头的方法是设置时间和日期值

2.Js数组对象的定义赋值以及方法

定义数组
var m=new Array(); var n=[];
数组的赋值
var m=new Array(2); 一个值表示数组length var m=new Array(2,3,4,5); 多个值表示数组赋值
数组对象的属性
数组名称.length;
数组对象的常用方法
数组转化为string join() var m=new Array(2,3,4,5); console.log(m.join("|")); 结果: 2|3|4|5 数组翻转 reverse() var m=new Array(2,3,4,5); console.log(m.reverse()); 结果:5 4 3 2 数组的截断 slice() slice(start.index, end.index); 对原数组没有影响 索引位不取大 var m=new Array(2,3,4,5); console.log(m.slice(0, 3),m); 结果:(2,3,4) (2,3,4,5) 数组的截断 splice() splice(start.index , length); 对原数组有影响 var m=new Array(2,3,4,5); console.log(m.splice(1, 3),m); 结果:(3,4,5) (2) 数组增加元素 push() 后 var m=new Array(2,3,4,5); 返回length console.log((m.push(6)),m); 结果: 5 (2,3,4,5,6) 数组增加元素 unshift() 前 var m=new Array(2,3,4,5); console.log(m.unshift(6 ,23),m); 结果: 6 (6,23,2 ,3,4,5) 数组删除元素 pop() 后 var m=new Array(2,3,4,1); console.log(m.pop(),m); 返回删除值 结果:1 ,(2,3,4) 数组删除元素 shift() 前 var m=new Array(2,3,4,1); console.log(m.shift(),m); 结果: 2 ,(3,4,1)

3.字符串概念

字符串概念:所有带单引号和双引号的叫做字符串 字符串的数据类型:字符串既是基本数据类型,又是复合数据类型。 字符串存储在内存里【只读数据段】的地方。字符串的变量里存储的是字符串的地址。 【注】使用起来没有任何区别。 【注】字符串一旦被声明,就没有办法被修改。如果你要修改字符串,只能销毁重新复制。

字符串声明方法
1、通过new声明 参数可以是任意数据类型,最终生成字符串 var str1 = new String(1000); alert(typeof str1); //object 2、可以省略new运算符 var str2 = String("heloo"); alert(typeof str2); //string 3、直接通过字符串常量赋值 用第三种比较多,第三种方便 var str3 = "hello world"; alert(typeof str3); //string
字符串属性
字符串.length 【注】输出字符串中字符的个数,计数的时候一个汉字,相当于一个字符。 【注】utf-8编码里面 通过3个字符表示一个汉字。

返回字符串中字符 我们可以通过下标的方式访问 str[0] */

var str = "hel我l"; alert(str.length);// 5 var str = "hel我l"; alert(str[1]);// e str[1] = "x"; //修改e为x alert(str);// hel我l 修改失败 说明字符串不能被修改
字符串的不可变
指的是里面的值不可变,虽然看上去可以改变内容但其实是地址变了,内存中新开辟了一个内存空间。 当重新给字符串变量赋值的时候变量之前保存的字符串不会被修改,依然在内存中重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变。 由于字符串的不可变,在大量拼接字符串的时候会有效率问题

4.简单数据和复杂数据的概念

原始数据类型: number,string,boolean,undefined, null,object 基本类型(简单类型),值类型: number,string,boolean 复杂类型(引用类型):object 空类型:undefined,null 值类型的值在哪一块空间中存储? 栈中存储 引用类型的值在哪一块空间中存储?对象在堆上存储,地址在栈上存储 var num=10;//值类型,值在栈上 var obj={};//复杂类型,对象在堆,地址(引用)在栈

值类型之间传递,传递的是值

引用类型之间传递,传递的是地址(引用) 值类型作为函数的参数,传递的是值 引用类型作为函数的参数,传递的是地址  

function Person(name,age,salary) { this.name = name; this.age = age; this.salary = salary; } function f1(person) { person.name = “ls”; person = new Person(“aa”,18,10); }

function Person(name,age,salary) { this.name = name; this.age = age; this.salary = salary; } function f1(person) { person.name = "ls"; person = new Person("aa",18,10); } var p = new Person("zs",18,1000); console.log(p.name);//zs f1(p); console.log(p.name);//is
最新回复(0)