前端学习(十三)JavaScript基础-变量

JavaScript是什么

  • JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言
  • 不需要编译,运行过程中由js引擎(js解释器)逐行解释并执行
  • 可以基于node.js进行后端开发

JavaScript的作用

  • 表单动态校验(密码强度检测)
  • 网页特效
  • 服务器开发(node.js)
  • 桌面程序(Electron)
  • App(Cordova)
  • 物联网(Ruff)
  • 游戏开发(cocos2d-js)

浏览器执行js

浏览器分成两部分:渲染引擎和JS引擎

  • 渲染引擎:解析HTML和CSS,俗称内核,如blink、webkit
  • JS引擎:也称为JS解释器,用来读取网页中的JS代码,并对其处理

JS的组成

  • ECMAscipt:js语法
  • DOM:页面文档对象模型
  • BOM:浏览器对象模型

ECMAscript

是由ECMA国际进行标准化的一门编程语言,这门语言在万维网上应用广泛,它往往被称为JavaScript(网景公司)或JScript(微软公司),但是实际上后两者是ECMAscript语言的实现和拓展

ECMAscript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准

DOM 文档对象模型

文档对象模型(Document object model),是W3C组织推荐的处理可拓展标记语言的标准编程接口

通过DOM提供的接口,可以对页面上的各种元素进行操作(大小、位置、颜色)

BOM 浏览器对象模型

浏览器对象模型(browser object model),它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构,通过BOM可以操作浏览器窗口,如弹出框、控制浏览器跳转、获取分辨率等

输入输出语句

  • alert(msg):浏览器弹出警示框
  • console.log(msg):控制台打印输出信息
  • prompt(info):浏览器弹出输入框,用户可以输入

变量

变量声明和赋值

//var是js关键字,用来声明变量
var age;

//变量的赋值
age = 10;

//声明一个变量,并进行赋值的过程,称为初始化
var age = 18;

//变量更新,重新赋值
age = 81;

//同时声明多个变量
var age = 10, money = 20;

//特殊情况1:只声明,不赋值,结果是 undefined
var age;
//特殊情况2:不声明,不赋值,直接使用,结果是 报错
//特殊情况3:不声明,直接赋值,结果是,可以的,但是不推荐这样使用

命名规范

  • 字母、下划线、美元符号($)组成
  • 区分大小写
  • 不能以数字开头
  • 不能是关键字、保留字
  • 见名知义
  • 驼峰命名法

数据类型

  • 为什么需要数据类型:不同数据占用存储空间不同,为了充分利用存储空间,定义了不同的数据类型

  • 变量的数据类型:js是弱类型的语言,在程序运行过程中,自动确定变量的数据类型

  • 数据类型分类:

    • 简单数据类型(Number、String、Boolean、Undefined、Null)
    • 复杂数据类型(object)

简单数据类型

数据类型说明默认值
Number数字型,包括整型和浮点型0
String布尔型,包括true和false,等价于1和0false
Boolean字符串类型空字符串“”
Undefined只声明变量,但是没有赋值undefined
Nullnull
  • 数字型:

    • 可以是小数或整数
    • 可以是八进制数,前面加0,如 var a = 012
    • 可以是十六进制数,前面加0x,如 var a = 0xcc
    • 最大值:Number.MAX_VALUE
    • 最小值:Number.MIN_VALUE
    • 无穷大:Infinity
    • 无穷小:-Infinity
    • 非数值:NaN
  • 数字型判断:isNaN(x)

    x是数字,返回false;x不是数字,返回true

  • 字符串型:

    • 双引号或者单引号
    • 嵌套时,内外用不同的引号
    • 特殊字符需要用转义符表示
转义字符说明
\n换行符,newline
\反斜杠 \
\'单引号
\"双引号
\ttab缩进,制表符
\b空格,blank
  • 字符串长度:使用length获取字符串长度

  • 字符串拼接:用加号+进行拼接

  • 布尔型Boolean:有两个值 true和false,在参与数学运算时,true为1,false为0

  • Undefined:没有被初始化的变量为Undefined

    • 参与字符串拼接时,将Undefined拼接到字符串
    • 参与数学运算时,得到NaN
  • Null:空值

    • 参与字符串拼接时,将Null拼接到字符串
    • 参与数学运算时,不造成任何影响,如 1 + Null,结果还是1

获取变量数据类型

检测变量的数据类型

利用typeof可以检测变量的数据类型

类型例子结果
Stringtypeof ‘123’“string”
Numbertypeof 18“number”
Booleantypeof true“boolean”
Undefinedtypeof undefined“undefined”
Nulltypeof null“object”

字面量

也就是常量的意思

  • 数字字面量:1,2,3
  • 字符串字面量:“舒克”
  • 布尔字面量:true,false

数据类型转换

使用表单、prompt获取的数据默认是字符串类型的,不能直接进行加法运算,因此需要转换数据类型

转换为字符串

方式说明案例
toString()在变量的末尾加num.toString
String()强制转换将变量放在括号里String(num)
加号拼接字符串和字符串拼接的结果都是字符串,也称为隐式转换num + “”

转换为数字型

方式说明案例
parseInt(string)转换为整数parseInt(‘123’)
parseFloat(string)转换为浮点数parseFloat(‘123.45’)
Number() 强制转换转换为数值型Number(‘123’)
js隐式转换(- * /)利用算术运算隐式转换为数值型‘123’ - 0

转换为布尔型

Boolean(‘123’)

  • 代表空、否定的值会被转换为false,如‘’、0、NaN、null、undefined
  • 其余值会被转换为true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值