1.js基本语法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js基本语法</title>
<script type="text/javascript">
/*
JS注释
多行注释
注释中的内容不会被执行,但是可以在源代码中查看
要养成良好的编写注释的习惯,也可以通过注释来对代码进行一些简单的调试
*/
//单行注释
// alert("hello");
// document.write("hello");
console.log("hello");//该语句用来在控制台输出一个日志
/*
1.JS中严格区分大小写
2.JS中每一条语句以分号(;)结尾
- 如果不写分号,浏览器会自动添加,但是会消耗一些系统资源,
- 而且有些时候,浏览器会加错分号,所以在开发中分号必须写
3.JS中会忽略多个空格和换行,所以我们可以利用空格和换行对代码进行格式化
*/
alert("hello");
</script>
</head>
<body>
</body>
</html>
2.字面量和变量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>字面量和变量</title>
<script type="text/javascript">
/*
字面量,都是一些不可改变的值
比如 :1 2 3 4 5 "hello"
字面量都是可以直接使用,但是我们一般都不会直接使用字面量
变量 变量可以用来保存字面量,而且变量的值是可以任意改变的
变量更加方便我们使用,所以在开发中都是通过变量去保存一个字面量,而很少直接使用字面量
可以通过变量对字面量进行描述
x = 123456789123456789
*/
//声明变量
//在js中使用var关键字来声明一个变量
var a;
//为变量赋值
a = 123;
a = 456;
a = 123456789123456789;
//声明和赋值同时进行
var b = 789;
var c = 0;
var age = 80;
console.log(age);
</script>
</head>
<body>
</body>
</html>
3.标识符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标识符</title>
<script type="text/javascript">
/*
标识符
- 在JS中所有的可以由我们自主命名的都可以称为是标识符
- 例如:变量名、函数名、属性名都属于标识符
- 命名一个标识符时需要遵守如下的规则:
1.标识符中可以含有字母、数字、_、$
2.标识符不能以数字开头
3.标识符不能是ES中的关键字或保留字
4.标识符一般都采用驼峰命名法
- 首字母小写,每个单词的开头字母大写,其余字母小写
helloWorld xxxYyyZzz
- JS底层保存标识符时实际上是采用的Unicode编码,所以理论上讲,所有的utf-8中含有的内容都可以作为标识符
*/
// var if = 123;
// console.log(if);
//不要这么用
var 锄禾日当午 = 789;
console.log(锄禾日当午);
</script>
</head>
<body>
</body>
</html>
4.数据类型
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据类型</title>
<script type="text/javascript">
/*
数据类型指的就是字面量的类型
在JS中一共有六种数据类型
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象
其中String Number Boolean Null Undefined属于基本数据类型
而Object属于引用数据类型
*/
/*
String字符串
- 在JS中字符串需要使用引号引起来
- 使用双引号或单引号都可以,但是不要混着用
- 引号不能嵌套,双引号不能放双引号,单引号不能放单引号
*/
var str = 'hello';
/*
在字符串中我们可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义
\" 表示 "
\' 表示 '
\n 表示换行
\t 制表符
\\ 表示\
*/
str = "我说:\"今天\t天气真不错!\"";
str = "\\\\\\";
// console.log(str);
//输出字面量 字符串str
// alert("str");
//输出变量str
// alert(str);
var str2 = "hello";
str2 = "你好";
str2 = 3;
</script>
</head>
<body>
</body>
</html>
5.运算符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>运算符</title>
<script type="text/javascript">
/*
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回
"number" "string" "boolean" "undefined" "object"
算数运算符
当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算
任何值和NaN做运算都得NaN
+
+可以对两个值进行加法运算,并将结果返回
如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回
任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
-
- 可以对两个值进行减法运算,并将结果返回
*
* 可以对两个值进行乘法运算
/
/ 可以对两个值进行除法运算
%
% 取模运算(取余数)
*/
var a = 123;
var result = typeof a;
// console.log(result);
// console.log(typeof a);
result = a + 1;
result = 456 + 789;
result = true + 1;
result = true + false;
result = 2 + null;
result = 2 + NaN;
result = "123" + "456";
result = "你好" + "小帅哥";
// console.log(result);
var str = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦";
// console.log(str);
result = 123 + "1";
result = true + "hello";
// console.log(result);
//任何值和字符串相加都会转换为字符串,并做拼串操作
/*
我们可以利用这一特点,来将一个任意的数据类型转换为String
我们只需要为任意的数据类型 + 一个 "" 即可将其转换为String
这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
*/
var c = 123;
c = String(c);
c = null;
c = c + "";
// console.log(typeof c);
// console.log(c);
c = 123;
// console.log("c = " + c);
result = 1 + 2 + "3";//33
result = "1" + 2 + 3; //123
result = 100 - 5;//95
result = 100 - true;//99
result = 100 - "1";//99
result = 2 * 2;//4
result = 2 * "8";
result = 2 * undefined;//NaN
result = 2 * null;//0
result = 4 / 2;//2
result = 3 / 2;//1.5
// console.log("result = "+result);
/*
任何值做- * /运算时都会自动转换为Number
我们可以利用这一特点做隐式的类型转换
可以通过为一个值 -0 *1 /1来将其转换为Number
原理和Number()函数一样,使用起来更加简单
*/
var d = "123";
d = d - 0;
// console.log(typeof d);
// console.log(d);
result = 9 % 3;//0
result = 9 % 4;//1
result = 9 % 5;//4
console.log("result = "+result);
</script>
</head>
<body>
</body>
</html>
6.自增和自减
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自增和自减</title>
<script type="text/javascript">
/*
自增 ++
- 通过自增可以使变量在自身的基础上增加1
- 对于一个变量自增以后,原变量的值会立即自增1
- 自增分成两种:后++(a++) 和 前++(++a)
无论是a++还是++a,都会立即使原变量的值自增1
不同的是a++和++a的值不同
a++的值等于原变量的值(自增前的值)
++a的值等于新值 (自增后的值)
自减 --
- 通过自减可以使变量在自身的基础上减1
- 自减分成两种:后--(a--) 和 前--(--a)
无论是a--还是--a都会立即使原变量的值自减1
不同的是a-- 和 --a的值不同
a-- 是变量的原值 (自减前的值)
--a 是变量的新值 (自减以后的值)
*/
var a = 1;
//使a自增1
//a++;
//++a;
//console.log("++a = " + ++a);
//console.log("a++ = " + a++);
//console.log("a = " + a);
var c = 10;
//第一次c++,是在10的基础上自增
c++;
//第二次c++,是在11的基础上自增
//console.log(c++);
var d = 20;
//console.log(++d);//21
//console.log(++d);//22
//20 + 22 + 22
var result = d++ + ++d + d ;
// console.log("result = " + result);
d = 20
d = d++;
/*
相当于
var e = d++;
d = e;
*/
// console.log("d = "+d);
var num = 10;
//num--;
//--num;
// console.log(num--);
console.log(--num);
console.log("num = "+num);
</script>
</head>
<body>
</body>
</html>
7.练习
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自增和自减的练习</title>
<script type="text/javascript">
var n1=10;
var n2=20;
var n = n1++; //先赋值n=10 后自增n1=11
console.log('n=' + n); //10
console.log('n1=' + n1); //11
n = ++n1; //先自增n1=12 后赋值n=12
console.log('n=' + n); //12
console.log('n1=' + n1); //12
n = n2--;//先赋值n=20 后自减n2=19
console.log('n=' + n); //20
console.log('n2=' + n2); //19
n = --n2; //先自减n2=18 后赋值n=18
console.log('n=' + n); //18
console.log('n2=' + n2); //18
</script>
</head>
<body>
</body>
</html>
网友评论