欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js小结

程序员文章站 2024-01-20 19:49:46
...

JS初学者小结

JS:全称JavaScript,简称js,是一种编程语言,通常运行在浏览器上,还可以运行在其它的环境中。与HTML和CSS一起用于web网页设计。

js简单作用:

  • 开发网站
  • 开发app
  • 小程序
  • 游戏开发 小程序游戏 网页游戏
  • 写后端 node.js
  • 嵌入式
  • 区块链

网页中引入js的三种方法:

  • 把js代码写在开始标签中,当成开始标签的属性(行内写法)
  • 把js写在HTML文件中 学习时通常就写在script标签中(内部写法)
  • 把js代码写在js文件中,然后在HTML文件中通过script标签引入,写项目时通常把js写在一个单独的文件中。(外部写法)

任何一种编程语言都有其自己的语法,js也不例外。

  1. js敏感区分大小写,var a=1;var A=1
  2. 忽略空白符(空格 换行 tab)
  3. 语句分号可加可不加,一般情况下都加上
  4. 注释 单行注释(在需要注释的语句前面添加 \\)和多行注释(/*符号中间即为注释内容 */)
  5. 关键字和标识符
  6. 变量和数据类型
  7. 运算符和表达式

js中的变量

数据:一个软件打开后,界面上有很多的数据,也叫状态,可以保存在两个地方,内存和硬盘
   项目运行起来,只有把数据加载到内存中,才能使用数据。
变量:内存中的一个空间
变量名:内存可加的别名,对变量名的操作就是对内存空间的操作
变量值:存储在内存空间中的状态(数据)
变量分类:全局变量和局部变量。分界点是函数,只要把变量写在函数里面就是局部变量,只要写在函数外面就是全局变量。
全局变量和局部变量特点:在函数内部都能访问到全局变量;局部变量只能在函数内部访问到。

数据类型

基本数据类型:number(数字)、string(字符串)、boolean(布尔类型)、undefined(未定义值)、null(空值)
引用数据类型:object(对象)、array(数组)、function(函数,在js中函数也是一种数据类型)

number数据类型
1)number是一个数据类型,该数据类型对应的值有无数个。
2)在JS中number数据类型是不分整数和小数的,都是number
3)可以通过typeof查看一个变量值的数据类型
4)有最大值 和 最小值
5)number可以通过不同进制显示  进制:10进制  2进制 8进制  16进制  
6)NaN(一种数据类型) Not a Number 不是一个数字
7)JS中不要对小数运算  要运算先转成整数   否则得到的结果往往不对

string数据类型
1)在JS中 使用‘’  “”把字符串包起来  不包 JS会给它当成变量
2)单引号不要嵌套单引号 双引号不要嵌套双引号  外单内双  外双内单
3)string数据类型对应的数据有无数个

boolean数据类型
1)boolean数据类型对应的值就两个  true  false
2)true 和 True  不一样  js是区分大小写的

undefined数据类型
1)undefiend是一个数据类型,这种数据类型对应的值是undefiend
2)什么时候会出现undefined?
   答:一个变量没有赋值,它的值是undefiend,而且这个值的类型是undefiend。一个函数没有返回值,也是返回undefined

js中的数据类型转化
数据类型转化:
    隐式类型转化:静悄悄地,不知不觉地就进行了类型转化
    强制类型转化:写代码进行转化
在JS中,下面的值转成false,其它值都转成true:
    0  -0
    ""
    undefiend
    null
前提:在JS中,运算符两侧需要保存数据类型一致,如果不一致,JS解释器会帮你把一个数据类型转成另一个数据类型。

代码段
一个script标签就是一个代码段。
JS代码在执行时,是一个代码段一个代码段执行。

JS代码在执行时分两个阶段:
    1)预编译
    2)代码执行
    每一个阶段做的事情是不一样的。


预编译: 提升
    把加var的变量进行提升,变量声明会提升,变量的赋值是不会提升
    提升到了代码段最前面
    把使用function声明的函数进行提升  提升的是整个函数声明
代码的执行:
    一行一行执行

初步了解执行上下文( Execute  Context) 
执行上下文( Execute  Context): EC

EC的作用:给代码提供数据

代码分两类:
    全局代码  函数外面的代码叫全局代码
    函数代码 一个函数就是一个局部代码

全局执行上下文:
    全局代码在执行时时,就会产生全局的EC   EG(G)
局部执行上下文:
    函数代码在执行时,就会产生局部的EC。调用一个函数就产生一个EC,调用100个函数,就产生100个EC。

EC栈:
    栈:像杯子
    每产生一个EC就会放到杯子中,就像是杯子中放鸡蛋。
    栈:先放进去的后出来
数据的存储 
    内存分堆内存和栈内存
    在JS中,基本数据类型存储在栈中,引用数据类型存储在堆中

定义变量和声明变量:
    定义变量:var a = 110;   定义 = 声明+赋值
    声明变量:var a = 110;  说的声明仅仅是说var a   后面是赋值

加var的变量和没有加var的变量的区别 
  1)在全局代码中,加var会提升,没有var的不会提升。
  2)不管加没加var的全局变量,都会作为window的属性
  3)没有加var的变量,只能作为全局变量,只要是全局变量,肯定是window的属性
  4)加var的局部变量,不会作为window的属性

let声明变量
  1)let声明的变量没有提升(let声明的变量也提升,仅仅是没有初始化)
  2)let 配合 {} 可以形成块级作用域
  3)使用let声明的变量不会挂载到GO上
  4)使用let不能重复声明
const声明常量
   const是声明一个常量(不会改变的量)
  1)声明常量不会提升
  2)conts 配合 {} 可以形成块级作用域
  3使用const声明的常量不会挂载到GO上
  4使用const不能重复声明
 5 )const在声明常量时,必须赋值
注意:不要使用var来定义变量 ,使用let声明变量
用法:声明变量使用let   声明常量使用const   初学者用var居多

了解函数
函数是任何编程语言都有概念

在JS中定义函数有两种形式
函数定义 和 函数表达式

函数定义  f叫函数名  ()是函数特有的标识  {} 叫函数体
定义 = 声明 + 赋值

函数调用
f()调用函数时,就会把函数体中的代码都执行了

函数的返回值
函数的返回值是返回到了函数调用处
一个函数如果没有返回值,默认返回undefiend

相关标签: javascript