JavaScript简称js,分三个部分:
1、ECMAScript 标准—js的基本语法
2、DOM ---- Document Object Model 文档对象模型
3、BOM ---- Brower Object Modle 浏览器对象模型
JavaScript是什么?
1、是一门脚本语言:不需要编译,直接运行
2、是一门解释性语言:遇到一行代码就解释一行代码
3、是一门动态类型语言
4、是一门基于对象的语言
5、是一门弱类型的语言:弱类型的语言,声明变量的时候都使用var
写js代码的注意问题:
1、在一对script的标签中,有错误的js代码,那么该错误代码的后面的代码也不会执行
2、如果第一对script标签中有错误,不会影响后面的script标签代码执行
3、script的标签中可以写什么内容? type=“text/javascript” 或是 language=“text/javascript” 但是,目前我们的html页面中,type和language都是可以省略的
4、有可能会出现这种情况: script标签中可能同时出现type和language的写法
5、script标签在页面中可以多对出现
6、script标签一般是放在body的标签的最后,有时候会出现在head标签中
7、如果script标签是引入外部js文件的作用,那么这对标签中不要写任何js代码,如果要写,重新写一对script标签,里面写代码
变量:操作数据都是在内存中操作的,其作用:存储数据或是操作数据。
1、js中存储数据使用变量的方式,(应该有一个名字,对应相关数据。 值:数据)
2、js中声明变量都用var – 存储数据,数据应该有对应的数据类型
3、js中的字符串类型的值都用双引号或者单引号
变量声明的方式:var 变量名字; 例如:var num;
变量名的注意问题:
1、变量名要有意义
2、变量名有一定的规范,一般以字母、$符号、下划线开头
3、变量名一般都是小写的
4、变量名如果是多个单词,第一个单词的首字母小写,后面所有单词的首字母都是大写,驼峰命名法
变量名词解释
1、变量声明:有var、有变量名字、没有值。
2、变量初始化:有var 有变量名字 有值。变量声明的同时并赋值 = 它的意义是赋值的含义
变量交换
// 变量交换 --- 方法1 使用第三方变量进行交换
var number1 = 10 ;
var number2 = 30;
//把number1的值赋值给temp 释放number1
var temp = number1;
// 把number2的值赋值给number1 释放number2
number1 = number2;
// 把temp变量的值赋值给number2
number2 = temp;
console.log(number1,number2,temp);
// 变量交换 --- 方法2 一般适用于数字交换
var n1 = 20;
var n2 = 40;
// 把n1变量中的值和n2变量中的值,取出来相加,重新赋值给n1这个变量
n1 = n1 + n2;
// 把n1变量的值和n2变量的值取出来,相减的结果重新复制给n2
n2 = n1 - n2;
// 把n1变量的值和n2变量的值取出来,相减的结果重新复制给n1
n1 = n1 - n2;
console.log(n1,n2);
// 变量交换 --- 方法3 位运算
var num_a = 20;
var num_b = 50;
num_a = num_a^num_b;
num_b = num_a^num_b;
num_a = num_a^num_b;
console.log(num_a,num_b);
变量的存储
js中的原始数据类型:number、string、boolean、null、undefined、object。
number:数字类型(整数和小数)。
string:字符串类型(用单引号或是双引号括起来)。
boolean:布尔类型(值有两个 true(真、1)false(假、0))。
null:空类型,值只有一个,一个对象指向为空可以用null。
undefined:未定义,值只有一个。
object:对象,或键值对,或字典。
什么情况下的结果是undefined?
1、变量声明了,没有赋值,结果是undefined
2、函数没有明确返回值,如果接收了,结果是undefined
3、如果一个变量的结果是undefined和一个数字进行计算,结果是NaN (NaN – not an number 不是一个数字)
如何获取这个变量的数据类型?
typeof 变量名 / typeof(变量名)
数字变量
// 数字类型有范围,最小值和最大值
// 数字的最大值
Nunmer.MAX_VALUE;
// 数字的最小值
Nunmer.MIM_VALUE;
总结:
1、数字类型:number
2、无论是整数还是小数都是数字类型
3、不要用小数去验证小数
4、不要用NaN验证是不是NaN,应该使用isNaN()
5、想要表示十进制,就是正常的数字
6、想要表示八进制,以0开头
7、想要表示十六进制以0x开头
字符串类型
1、字符串的拼接 使用+可以把多个字符串拼接在一起
2、只要一个是字符串,其他的是数字,那么结果也是拼接,不是相加
3、如果一个是字符串,另一个不是字符串,使用 - 那么此时会发生计算
4、把字符串的10 转成数字,浏览器帮助我们自动的把字符串类型转换成数字类型,这种要做 – 隐式转换
布尔类型
布尔类型的值有两个,一个是true(真 或 1),一个是false(假 或 0)。
类型转换
1、parseInt();
// 转整型
2、parseFloat();
// 转小数
3、Number();
// 转数字
4、 值.toString(); // 如果变量有意义调用.toString()转换
5、 String(值); // 转字符串类型
6、Boolean(值); // 转布尔类型
1、算术运算符:+、 -、 *、 /、 %
2、一元运算符:++、 --
3、赋值运算符( 优先级别是最低的): =
4、三元运算符:? :
5、复合运算符:+=、 -=、 *=、 /=、 %=
6、关系运算符(结果是布尔类型):>、<、 >=、 <=、 ==、 ===、 !=、 !==
7、逻辑运算符(结果是布尔类型): && 、 || 、!
一元运算符使用时要注意:
1、如果++在后面,如 num++ + 10 参与运算, 运算结束后,自身在加1
2、如果++在前面,如 ++num + 10 参与运算,先自身加1,然后再参与运算
3、如果–在后面,如 num-- + 10 参与运算,运算结束后自身在加1
4、如果–在前面,如 --num + 10 参与运算,先审加1,然后再参与运算
逻辑运算符使用时要注意:
1、表达式1&&表达式2,如果有一个为false,整个结果就是false
2、表达式1||表达式2,只有有一个为true,整个结果为true
3、!表达式—结果就是取反