JavaScript 之 基础 -- 声明、数据类型 (入门 详细)

JavaScript

JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

服务器渲染

服务器压力过大;网页不能局部更新;不利于团队合作

客户端渲染

前后端分离,有利于团队合作;可以局部更新;服务器压力不大

JS的构成

核心 :ECMAscript

BOM 浏览器对象模型

客户端和浏览器端窗口操作的基础(操作浏览器窗口的),可以使用BOM对浏览器窗口进行访问和操作,比如移动窗口位置、返回历史记录等等

DOM 文档对象模型

提供了一系列的应用程序接口(api),供我们开发者对DOM的添加删除修改等(说白了就是操作标签的)

html中引入js的三种方法

  • head 头部、body 内、body 下面

  • 行内(写在标签里)

  • 重新建一个js文件,通过地址引到html文件中

声明

变量

1.var
  • var 变量名 = 变量值; = 赋值操作
  • (先有值,再有名 将值赋值给名)
  • 声明任何类型
  • 可以重复声明同一个变量
  • 声明变量未赋值,默认undefined 空 未定义
2.let
  • let 变量名 = 变量值; (先有值,再有名,将值赋给名)
  • 任何类型
  • 不能重复声明同一个变量
  • 声明变量未赋值,默认undefined 空 未定义

常量

const
  • const 变量名 = 变量值; (先有值,再有名,将值赋给名)
  • 不能重复声明同一个变量
  • 不能被修改
  • 常量必须要赋值

命名语法规范

  1. 变量名 区分大小写
  2. 字母 数字 下划线 $ ,不能用数字开头
  3. 不能使用关键词 与保留
  4. 语义化---汉译英 //大驼峰BigApple 小驼峰bigApple 下划线big_apple

JS的数据类型

原始类型 7种

(基础类型) --7种

number 数字

整数 小数 NaN(Not a Number)

  • 💘注意:小数相加的时候,会存在一个精度问题(先将十进制转化为二进制计算,再转化为十进制);整数不存在精度问题。 解决方法:使用toFixed()保留小数

  • 💞数值有一个范围,超出该范围进行计算,会出现失去精度的问题。

  • 1.NaN 不能等于任何内容,包括它自己

  • 2.任何数字与NaN进行计算,结果都是NaN

  • + - * / %

String 字符串

'' "" ``(es6--字符串模版)

boolean

undefined

null 无 空

BigInt 大数 es6 新增

Synbol 唯一值 es6 新增

相关函数

isNaN() 判断是不是有效数字

是有效数字 false; 不是有效数字 true;

先将任何类型转化为数字(Number()),再判断

Number() 将其他类型转化为数字

  1. 如果遇到字符,字母...,只要不是数字,就转化为NaN
  2. 特殊 :

null---0 false---0 "" " "----0 []--0

undefined---NaN {} --- NaN

true---1

  1. 如果是Symbol报错
  2. 遇到对象时,先转化为字符串,再转为数字

parseInt()将其他类型转为number,整数部分

从左向右找,遇到不是数字就停止;如果找不出来,就是NaN

parseFloat()整数部分+小数部分

toFixed 保留小数 四舍五入

Number的取值范围

BigInt 大数

toString() 转化为字符串

String()将其他类型转化为字符串

区别:toString() 是对象方法,需要在对象上调用;String是全局函数,可以接受任何类型的参数。

Boolean() 将其他类型转化为布尔 (直接)

  • 特殊:五种为false 0 null NaN undefined "" (中间啥都没有的引号)
  • 其他都为true

间接转Boolean ! 非--取反
  • "11"---true !"11" ---false !!"11"---true
  • !!xxx --- Boolean(xxx)

null与undefined的区别

null

未来要存放引用类型的值,释放内存

undefined

  1. 声明变量未赋值

  1. 获取没有的属性值

引用类型 11种

引用类型都需要 new

装箱 :值类型---引用类型---值类型

拆箱:引用类型---值类型---引用类型

  • 数组 array

  • 字符串 string (双)

  • 数字 number (双)

  • Object 对象 普通对象

Object {} key:value 键值对 用,分隔

  • function 函数

  • 正则

  • window 全局对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值