valleyT

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

运行语言的环境

在编程中,我们就处理这两个东西,数据和函数.

关键词声明创建数据

let

let guang='光'

let,就是js语言里创建数据的关键词,光是数据的名字,=号后面是数据的内容值.同样的还有三个关键词也能创建数据let 创建的数据叫变量,可以变的数据.

const

const创建的数据叫常量,不可以变的数据.如下演示

		let guang='光';
        guang='暗';//guang被改成了'暗'

        const huo='火';
        huo='水';//报错Assignment to constant variable.

function

function**和let类似,但它是专门用来创建函数数据的,比如,格式后面就是function后面跟一对括号,小括号接受参数,大括号包含计算过程.

function mingcheng(){}

var

var**其实也和let类似,也是创建变量,但它已经被淘汰了,现在开发中基本不写这个.因为它会跑出作用域,有风险污染全局变量.

作用域数据起作用的区域

一个程序,会有很多创建数据的地方,为了避免变量太多互相冲突,语言环境就弄了个作用域的功能出来,顾名思义,能发挥作用的区域,比如:

有效期:全局数据一直存在,块级内的在执行时创建,执行后销毁

//学校
        {
            //一班
            var xiaozu = '张三';
        }
        {
            //二班
            var xiaozu = '李四';
        }
        document.write(xiaozu)//李四
        //此时学校里出现xiaozu的信息,叫李四,因为它是后面创建的,会覆盖
        //掉一班的数据,这就叫污染变量,如果用let,就不会出现这个问题,学		   //校没有小组信息,它们只在自己的作用域生效

全局

所有地方都可以访问的真全局,某一个块内可以访问的局部全局

块级作用域

if块

whil块

函数块

for循环块

单独块{}

特性

  1. 层级 (下级作用域可以访问上级作用域的数据,上级作用域无法访问下级作用域的数据)
  2. 优先级 (同 名情况下尽量避免),局部最优先,函数参数次之,全局最次
  3. 有效期 全局数据一直存在,块级内部在执行时创建,执行完后销毁

数据结构

对象object

在js中,所有数据在底层都是对象,object,英语中是物体的那种对象,一堆数据的集合,形式是

let ren={};
//在这个大括号里面,你可以加任何数据,和单独创建数据相比,不需要关键词
//let,也不需要等于号,而是冒号,这种形式叫键值对,key就是属性名,
//值value就是具体内容,比较方便的是,对象里可以嵌套对象,无限叠加下去


原始值

在mdn上,其实js的数据类型分为原始值和对象两个,原始值7个

  1. string文本 字符(需要包裹在引号里面)
  2. number 数字 int整数,float浮点数
  3. boolean 真假
  4. null 空值
  5. undefined 未定义
  6. bigint 在数字超过2的53次方时使用
  7. symbol符号类型 ,创建唯一且不可修改的值

null和undefined,如果一个a数据为空,那么它的值是null,而undefined则代表根本没有a数据被定义,undefined,处理不好容易报错

原始值是特殊的对象,自带很多函数和属性

函数

函数**也是对象,道理和原始值一样,

数组

数组,是一个特殊的对象,非常关键的数据类型,平级数据可以无限排列下去,它和对象一样,也可以包括所有的原始值和对象,

let yuandao=['一班','二班','三班'];
let arr=[1,true,null,{a:'a'}];//对象的无限嵌套,就是对象的另一种形
//式.
日期
正则

js标准内置对象数据

环境种类

编程语言本身只有计算的功能,就是一个有数据有函数的环境,它能实现的所有功能,都是由不同环境提供的,而不同环境又是由不同函数实现的,一层一层嵌套下去,最终反映在调用硬件的电流开关上,屏幕的led灯,内存的电门,硬盘的电位等等,

//假如人是js,那么你在房间运行的时候,你可以调用房间的数据和函数,比如查看房间面积,开灯之类的,当你在汽车中运行时,你可以调用汽车的数据和函数,看汽车时速,或者踩油门.房间和汽车都是环境,编程语言和环境的关系也是如此.

浏览器

当你的代码运行在浏览器时,就自带window对象,window对象里包含了所有的关于浏览器功能的数据和函数,你可以用window对象,来完成所有对网页的控制.

后端node.js/deno

除了浏览器,js也可以通过node.js等框架运行在服务器上,这些框架会提供给他几个对象,用来操作文件系统,网络通信,数据库函数等等,框架和库 包之类的名词差不多

所有组合的功能 ,提供了便利的函数,我们都可以叫框架和库

global对象

内置系统模块

小程序

微信内是wx对象,其他厂商有不同的名字,但本质一样

app

桌面端

硬件

其他

注释

代码的说明

数据命名规则

  1. 避免保留字和关键字
  2. 不能以数字开头
  3. 字母大小写严格区分
  4. 见名知义
  5. 驼峰命名法
posted on 2022-06-13 16:45  valley_T  阅读(6)  评论(0编辑  收藏  举报