js第一天
alt+shift+箭头:快速赋值
js基本知识
- 发明者:1995 布兰登.兰奇
- 组成部分:ECMAScript与Webpai(BOM(操作浏览器)、DOM(操作页面))
js注意点
- 在一对script中有错误的代码,那么该错误的js代码后面的代码是不会执行的
- 前一对的script标签有错误,是不会影响后面script标签的内容的
- script的标签中可以写的内容:标准写法** **
language=“javascript” - script标签一般写在body标签最后,有时候会在head标签中
- js标签中引入外部的js文件时,不能再在js标签中写任何代码,需要新建jscript标签
- script可以出现多对
- js中大小写是区分的;
- 最外面是双括号,里面必须是单括号
js书写位置
-
在script标签中写js代码
-
在js文件中写js代码,在html页面中引入script src=“路径”
输出语句
- alert:警告框
- confirm:确认框(确认键与取消键)
- prompt:输入框
- document.write:往页面中写内容
- console.log:往控制台输出内容
注释
- 单行注释:ctrl+/
- 多行注释:shift+alt+A
变量
定义:变量时计算机中存储数据的标识符,根据变量名称可以获取到内存中存储的数据;
为什么要使用变量:可以方便的获取或者修改内存中的数据
作用:操作数据(存储、读取)
1、js中的数据都是用变量的方式(名字,值=》数据);
2、 js中声明变量都用var=》存储数据,数据都有对应的数据类型;
3、js中的字符串类型都用双引号或者单引号;
4、变量声明:有var,有变量名字,没有值;
5、变量初 始化:有var,有变量名字,有值;变量声明的同时并且赋值了
var flag=tr ue;var flag=true;var obj=new object()
6、变量声明定位方式:var 变量名字;var x,y,b=》一次性声明多个变量
变量名的注意问题
- 变量的名字要有意义;
- 变量名不能以数字开头 ;可以以字母、dollar符号、下划线开头,中间或者后面可以有$符号、数字
- 变量名一般都是小写;
- 变量名如果是多个单词;第一个单词的首字母是小写,后面的所有单词的首字母都是大写(遵循驼峰命名法)
原始数据类型
number:数字类型(整数和小数)
string:字符串类(单引号括起来)
boolean:布尔类型(true,false)
var flag=True=>is not defined
null:空类型 (null)
undefined:未定义(underfined)
什么情况下是underfined:
**变量声明了没有赋值、函数没有明确返回值,如果接收,结果也是underfined、如果一个变量的结果是 underfined和一个数字进行计算,结果为NaN(not a number)
数字范围
最小值:Number.Min_Value:
最大值:Number.Max_Value
无穷大: Infinity(+、-)
获取变量的数据类型
typeof(变量名);
number类型
isNaN(变量名);(不是一个数字吗)如果里面不是一个数字,那么答案为true;如果是一个数字,答案为false
八进制:以0开头;
十进制:正常的数字;
十六进制:以0x开头;0X11=》17 0Xa0:=>10*16的一次方和016的0零次方
转换的数字如果里面包含字母,输出NaN;console.log(Number("10abcdfdf"))=>NaN:
字符串类型
获取字符串的长度
console.log(变量名.length)
转义字符
\t=>横向跳格
\=>\
\b=>退格
\n=>换行
\"=>普通的双引号
\'=>普通的单引号
字符串的拼接
使用+把多个字符串放在一起形成一个字符串
1.只要有一个是字符串,另一个不是字符串,使用减号,会发生计算(隐式转换)
var num=123-"123"=>0
2.只要有一个是字符串,结果是拼接
类型转换
-
parseInt()转整数
只要开头为数字的都可以转换为整数
开头为字母,输出结果为NaN2.parseFloat()转小数
开头为字母,输出结果为NaN
3.Number()转数字
数字中包含字母或者其他的,输出结果为NaN
其他类型转字符串类型
1.变量名.toString() 2.String()
如果变量有意义调用.toString()转化;如果变量没有意义,用String()转化,结果为underfined;
其他类型转布尔类型
Boolean(值)
结果为false:"" 0 false NaN undefined null
console.log(boolean(0));=>false;
console.log(boolean(-10));=>true;
console.log(boolean(""));=>false;
console.log(boolean(null));=>false;
console.log(boolean(undefined));=>false;
console.log(boolean(NaN));=>false;
console.log(boolean(false));=>false;
注意:是undefined不是under
操作符
-
算术运算符:+ - 等等
-
算术运算表达式:由算术运算符连接起来的表达式
-
一元运算符:++ – 只需要一个操作数就可以运算的符号 如果++在后面:如:num++ +10:20 先参与运算,运算结束自身加一
如果++在前面:如:++num +10:21 先自身加一,然后再参与运算
如果不参加运算,无论符号在前面还是后面结果都一样 -
二元运算符:只需要二个操作数就可以运算的符号
-
三元运算符:只需要三个操作数就可以运算的符号
var 变量=表达式1?表达式2:表达式3 表达式1 的结果为true,执行表达式2,反之,表达式3 -
复合运算符:+= -= *= /= %=
-
关系运算符:> < >= <= == (不判断类型)=(类型必须相同) != !(严格的不等于)
-
逻辑运算符:&&并且 只有两个为true,结果为true ||或者 !取反
优先级
()优先级最高
一元运算符(++、--、!)
算术运算符(先*/%,后+-)
关系运算符(先 < > >= <= ,后 == === != !===)
逻辑运算符(先&&后||)