JavaScript基本语法
输入和输出
输出
alert(" ")
控制浏览器弹出一个警告框<script> alert("这是我的第一个网页"); </script>
document.write("")
可以向body中写入一个内容<script> document.write("Hello world"); document.write("<a href='http://www.baidu.com'>百度一下</a>"); </script> //如果要输出的是HTML标签的代码本身。那么JavaScript会将其解析为一个真正的标签并显示在页面上。
console.log("")
向控制台输出一个内容<script> console.log("我在这里"); </script>
输入
prompt("")
获取用户输入的文字prompt("提示性文字"); //配合输出 alert(prompt('请输入您的手机号'));
编写位置
<script>
标签
js代码需要编写到
<script> js代码</script>
标签中<script>
标签可以写在<head>
标签中,也可以写在<body
标签中<script>
属性type
默认值text/javascript
可以省略不写src
当需要引入一个外部的js文件时,使用该属性指向文件的地址
注:
<script>
若作为外部引入js文件使用,则在标签内书写的js代码无效,默认被注释,不被解析,只能单一作用,若引入js文件后,再编写js代码,则需重新添加·<script>
标签
内联属性
可以将js代码编写到标签onclick 属性中,当我们点击按钮时,js代码才会执行
<button onclick="alert('你点我干嘛!');">点我一下</button>
可以将js代码写在超链接的href属性中,点击超链接时,执行js代码
<a href="javascript:alert('让你点你就点!');">你也点我一下</a> <a href="javascript:;">点我</a> <!-- 无任何效果,可作占位符-->
注释
注释中的内容不会被解析器解析执行,但是会在 源码中显示,我们一般会使用注释对程序中的内 容进行解释。
单行注释
//单行注释
多行注释
/* * 多行注释 * js注释 */
文档注释
/** * 对一个方法或一段代码进行说明 * * */
javascript书写规范
js严格区分大小写,也就是abc和Abc会被解析器 认为是两个不同的东西。
js中每一条语句以分号 ;结尾
- 如果不写分号,浏览器会自动添加,但是会消耗资源,有时会加错 ,**必须写 **
js中会忽略多个空格和换行,所以可以利用空格和换行来格式化
标识符
所谓标识符,就是可以自己起名字的变量,函数、属性等或是函数的参数
规则
标识符中可以有字母,数字,_ ,$
不能以数字开头,第一个字符必须是一个
字母
、下划线( _ )
或一个美元符号( $ )
标识符不能是
关键字
和保留字
一般使用
驼峰命名法
- 首字母小写,每个单词的开头字母大写,其余子母小写
- 示例:
helloWorld
Js底层保存标识符时,实际上是采用的是Unicode编码
关键字和保留字
关键字:具有特殊意义和功能的的单词
保留字:将来有可能作为关键字
关键字
保留字
字面量和变量
字面量:一些不可改变的值
变量:可以保存字面量,它的值可以任意改变,作用是给某一个值或对象标注名称,能够重复的使用数据
- 变量定义一次,可以多次使用
- 变量都需要
先定义,再使用
变量的声明
使用var关键字来声明一个变量,可以用来保存任何类型的值,声明范围是函数作用域
var he;
变量的赋值
var a; a=123;
声明和赋值同时进行
var a=123;
变量的使用
需重新定义变量。直接修改变量的数据即可
var demo = 1; console.log(demo);// 1 //修改 demo = 3; console.log(demo);// 3
数据类型
基本数据类型(JavaScript中有5种)
字符串型 String
用于表示一个字符序列,即字符串
字符串需要使用
"
或'
括起来引号不能嵌套,双引号不能放双引号,单引号不能放单引号
转义字符:
转义字符 含义 转义字符 含义 \n
换行 \
斜杠 \t
制表符 \'
单引号 \b
空格 \"
双引号 \r
回车 将其他数值转换为字符串有三种方式:
toString()
、String()
、拼串
。
数值型 Number
js中所有的数值都是Number
包括整数和浮点数(小数)
js中可以表示的数字的最大值
Number.MAX_VALUE
1.7976931348623157e+308- 使用的Number超过 最大值,则会返回一个
Infinity
正无穷Infinity
数值类型
大于0的最小值
Number.MIN_VALUE
NaN
是一个特殊的数字not a number 非数字在js中整数的运算基本可以保证精确
使用js进行浮点运算,可能得到不精确的结果
数字保留指定位数的小数点
toFixed
:能够指定某个数字保留几位小数,会四舍五入。var 变量名= 数字.toFixed(小数点的位数); 例子:保留一位小数 var num =1.674; var num1 = num.toFixed(1); document.write(num1);// 1.7
布尔型 Boolean
- 布尔值只有两个 做逻辑判断
true
false
Null 型null 空值
Null类型只有一个,就是null
null这个值专门用来表示一个为空的对象
使用typeof 检查一个null值时,会返回object
Undefined型 undefined 未定义
Undefined 类型只有一个值,即特殊的
undefined
。在使用 var 声明变量但未对其加以初始化时,这个变量的值就 是 undefined
typeof对没有初始化和没有声明的变量都会返回 undefined
undefined值实际上是由null值衍生出来的,所以如果比较 undefined和null是否相等,会返回true;
ES6新增
- Symbol ,表示独一无二的值,最大的用法是用来定义对象的唯一属性名
引用数据类型
- Object 对象
- 数组
- 函数 function
数据类型转换
将其他数据类型转换为String
- 方式一
调用被转换数据类型的toString()方法
对于Number调用toString()时可以在方法中传递一个整数作为参数
此时它将会把数字转换为指定的进制,如果不指定则默认转换为10进制
var a = 255; a = a.toString(2);//转换为二进制 console.log(a);//输出为1111 1111 console.log(typeof a); //string
该方法不会影响原变量,会将转换的结果返回
注:null 和 undefined 这两个值没有toString()方法
- 方式二
- 调用String()函数,将被转换的数据作为参数传递给函数
- 使用String()函数做强制转换时:
- 对于
Number
和Boolean
实际上调用的是toString()
方法 - 对于
null
和undefined
是直接转换
- 对于
- 方式三
- 字符串的拼接,任何值与字符串相加,都会先转换为字符串,然后再进行拼接
- 一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
将其他数据类型转换为Number
方式一
使用
Number()
函数不同数据类型转换结果
字符串—–>数字
纯数字
,直接转换非数字
的内容,则转换为NaN
- 字符串是
空串
,或是空格的字符
,转换为0
布尔值—–>数字
true
转换为1
false
转换为0
null
—–>数字 为0
undefined
—->数字NaN
方式二:专门用于字符串的转换
- 若对
非String
使用parseInt()
或parseFloat()
,他会先将其转换为String然后再操作 parseInt()
把一个字符串转换为一个整数- 可以将一个字符串中的有效的整数内容提取出来,然后转换为Number
parseFloat()
获得有效的小数
- 若对
方式三
- 通过运算符,
将一个值减0 ,*1, /1
来将其转换为Number
- 原理和Number()函数一样
- 通过运算符,