对Js的基础理解笔记

JavaScript基础笔记

1.内置对象

什么是内置对象:
	Javascript中的对象分为3种:自定义对象、内置对象、浏览器对象。

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

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

Math对象
	Math对象属性

属性.png

	Math对象方法

方法.png

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

随机整数.png

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



创建日期对象的方法:

创建日期对象的方法.png

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

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

to开头时间转字符串.png

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

get开头获取时间和日期值.png

日期转换方法

日期转换方法.png

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

set开头设置时间和日期值.png

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值