JavaScript书写基础和基本数据类型
JavaScript书写基础和基本数据类型
@jarringslee
js书写基础和规范
js是一种在客户端(浏览器)运行的编程语言,可实现人机交互的效果。
js组成:
js由两部分组成:
- ECMAScript:js的语言基础,js遵循其语言逻辑。它规定了js的基础语法核心知识,如变量、分支、循环等;
- Web APIs:分为DOM(页面文档对象型:操作文档,比如对页面元素进行移动、大小、添加删除等操作)和BOM(浏览器对象型:操作浏览器,比如页面弹窗、检测窗口宽度、存储数据到浏览器等)。
js书写位置:
-
行内js
-
内部js直接写在html文件中(通常写在
</body>
标签上面),用<script>
标签包裹住 -
外部js通过link链接
<body><script src="js文件地址"></script> </body>
js结束符:
可以用分号结尾,也可以不写,统一格式即可。
输入和输出语法:
-
输出语法
-
向body内输出内容:
document是文档的意思,输出内容也可以用标签包裹。
document.write('输出内容') document.write('<h1>我是标题</h1>')
-
页面弹出警示框:
alert('输出内容')
-
控制台输出(用户无法看到,在控制到console中):
console.log('控制台输出') //简写为log
-
-
输入语法
-
显示对话框和文字信息
promot('请输入姓名')
-
被引号包裹的内容可以用单引号’’、双引号""或反引号``
执行顺序:
- 按文档流顺序执行代码;
- alert()和promot()会跳过页面渲染先被执行
js字面量
字面量literal在计算机中描述事/物
- 月薪是30000 此时30000是数字变量
- ‘泥嚎’ 泥嚎是字符串字面量
- [] 是数组字面量 {} 是对象字面量
变量、常量、数据类型
变量 let
变量是计算机中用来存储数据的容器,并不是数据本身。
变量的声明/定义/创建: 声明关键字 变量名
let age = 18
**变量的本质:**是程序在内存中申请的一块用来存放数据的小空间
存储输入的数据:
let uname =prompt('请输入姓名')document.write('姓名:', uname, '。')//或者const age = prompt('请输入您的年龄')document.write('年龄:${age}<br>')
**数组变量:**直接声明,等号后写中括号,元素间用逗号隔开。
数组长度:变量名+点+length(最大元素的下标+1)
let uname = [111, 222, 'num', 231]document.write('姓名:', uname[2], '。')document.write('数组长度:', uname.length, '。')
常量 const
声明时必须赋值,且不允许再次赋值,无法被修改。 const PI = 3.14
数据类型
基本数据类型:
-
**数字类型Number:**变量声明后直接创建。可以是整数、小数、正数、负数。
js、Python是弱数据类型的语言:一个关键字可以声明任意类型的数字(整数、小数…)。
而c、java就是强数据类型的语言:int整数、float或者double为浮点数。
数字的运算符:算术运算符:
- 优先级最大的是括号中或者次方(
**
):4**2表示4的4次方 - 乘 除 取余
- 加 减
如果碰到非数字进行了算术运算,则会输出:NaN。
NaN代表一个计算错误。它是粘性的:任何和其有关的操作都会返回NaN。“NaN==NaN”的命题也是错的。
- 优先级最大的是括号中或者次方(
-
**字符串类型string:**变量声明后用引号(单引号、双引号、反引号)包裹创建内容。注意若数字被引号包裹了,那它也是字符串类型。
空字符串:
let str = ''
console'log('')
字符串拼接:加号+ 可以把相邻的两个字符串或相邻的字符串和数字相连在一起。
document.write('我今年' + 19 + '岁了') //等价于 document.write('我今年', 19, '岁了') //或者 let age = 19 document.write('我今年' + age + '岁了') //或者 let age = 19 let aa = '我今年' let bb = '岁了' document.write(aa + age + bb)
直接在字符串的引号中书写变量名:模版字符串
字符串用反引号包裹,引号中的变量名用**
${}
**包裹document.write(`我今年${age}岁了`)
-
**布尔类型boolean:**判断真假的数据类型,有true(真)和false(假)两个数据类型
let mybool = true document.write(mybool)
若直接在输出内容中放一个判断问题(不加引号),也可以直接输出true或false
document.write(99 < 1000)
-
未定义类型undefined: 值直接为undefined。在不声明变量、不赋值的情况下默认值为undefined。一般不直接把某个变量赋值为undefined。
let buy document.write(buy) //输出值为undefined
**使用场景:**若后端有一个变量传过来,可以通过判断这个值是不是undefined来确定这个值是否有效。
-
空类型null: null是对象数据类型(object),表示创建了变量但是没有赋值,代表“无”“空”“未知”的一个特殊值
let obj = null
undefined是没有赋值(什么也不是,不能参与运算),null表示赋值了但是内容为空(没有值,参与运算时默认为0)
document.write(undefined + 1) //输出NaN document.write(null + 1) //输出值为1
**使用场景:**如果一个变量中确定存放的是对象,但还没有准备好该对象,可以先放null
检测数据类型 typeof
在输出中使用,可以直接输出变量类型名
书写方法:
typeof + 空格 + 变量名
(常用)typeof + (变量名)
let num = 10console.log(typeof num) //输出numberlet str = 'pink'console.log(typeof str) //输出stringlet no = ''console.log(typeof no) //输出stringlet flag = falseconsole.log(typeof flag) //输出booleanlet unconsole.log(typeof un) //输出undefinedlet obj = nullconsole.log(typeof obj) //输出object