zoukankan      html  css  js  c++  java
  • js数组,对象,作用域

    作用域:
    一个变量可以使用的范围:只有函数生成私有作用域
    全局作用域:当页面打开的时候就会生成
    私有作用域:每一个函数都是一个私有作用域
    当出现了私有作用域,就会分为上下级的情况
    变量使用的范围:
    一个变量只能在自己作用域的内部使用,上级作用域不能使用,自己的下级作用域可以使用,访问规则为:私有作用域没有变量
    的情况下会查找上一级,直达查找到变量名,则取消查找
    变量的赋值规则:当给变量赋值时,是在哪一个作用域里面的变量赋值:
    先在自己作用域查找,如果有则赋值,如果没有则上一级作用域里面查找,直达找到为止,如果全局作用域都没有的话,则定义为全局变量,在赋值。
    对象:复杂数据类型:
    是一个对象空间可以存储任意类型的数据,
    语法“var obj={name:'jack" age:18}
    操作对象:
    1.点语法:
    添加成员:obj.name='jack',向obj对象内,添加一个name成员名内容为jack
    删除对象成员:delete obj.name,删除obj里面的name成员
    修改某一个对象成员:obj.age=20,重复赋值,如果对象内有这个成员则为修改,没有则为添加
    查询对象:obj.name

    2.数组关联语法:
    	添加:obj['age']=20,
    

    数据在内存中的存储形式:
    1.栈内存:基本数据类型
    2.堆内存:复杂数据类型,只有地址在栈里面
    变量的赋值关系:
    复杂数据类型,obj=obj1,两个对象存储的地址是一样的,改变obj1的内容时,obj内的内容也会随之改变.
    数据类型之间的比较:
    基本数据类型时值之间的比较,复杂数据类型比较的是地址之间的比较
    数组:是一个数据类型的集合,可以放任意类型的数据
    数组的定义方式:
    1.字面量方式定义数组:var arr=[],定义了一个空数组
    2.内置构造函数定义一个数组:var arr=new Array(),制造一个空数组
    定义一个有限长度数组:var arr=new Arry(10),制造一个长度为十的空数组
    传递多个数据:var arr=new Arry(1,2,3,4),定义多个参数,则代表往数组中添加了多个数据
    数组的基本使用:
    数组自带属性,length,代表数组中有多少数据
    获取数组中的基本数据:数组名称+[索引]
    数组的操作:
    push()向数组中添加数据,添加位置为最后;语法:数组名.push(添加的数据);返回值:添加过后的数据长度
    pop()删除数组中的最后一个数据,语法:数组.pop()不需要参数;返回值:被删除的那一个数据
    unshift()像数组中添加数据;语法:数组.unshift(需要添加数据) ,位置添加在数组的最前面,返回值,改变后数组的长度,与push()内存的消耗不一样
    shift()删除数组中的第一个数据,语法:数组.shift(),返回值,被删除的那个数据
    concat()对数组进行拼接,理论上可以无限添加数组,语法:数组.concat([数组]),返回值拼接后的数组
    splice()对数组进行截取,语法:数组.splice(开始的索引位置,截取多少个),直接改变原始数组,不管截取多少个内容都是以数组返回,不传递第二个参数时,返回值为索引后所有值,添加数组新成员,从第三个开始替换后谜案的元素
    reverse()反转数组,语法:数组.reverse(),返回值:反转后的数组
    sort()数组排序,1.语法:数组.sort(),返回值排序好的数组,排序方式是按照一位一位来排序
    2.按照数字大小来排序:数组.sort(function(a,b)){return a-b(b-a)}升序(降序)排列
    join()把数组连接成字符串,语法:数组.join('连接字符')
    slice()截取数组,语法:数组.slice(开始的索引,结束的索引),不改变原始数组,包前不包后,以数组的形式返回结果

  • 相关阅读:
    精读大道至简01
    mysql查询语句出现sending data耗时解决
    定位线上问题
    docker命令
    .net core2学习笔记
    centos下安装色彩scrapy
    mysql中id值被重置的情况
    MySql中的SHOW INDEX 查出的结果列代表的意义
    ELK安装
    使用PowerDesigner进行面向对象分析与UML建模(转)
  • 原文地址:https://www.cnblogs.com/cengzhuquan/p/13938598.html
Copyright © 2011-2022 走看看