JS代码需要编写到<script>标签中。
我们一般将script标签写到head中。(和style标签有点像)
属性:
type:默认值text/javascript可以不写,不写也是这个值。
src:当需要引入一个外部的js文件时,使用该属性指向文件的地址。
js编写位置
<script type="text/javascript" src="路径"> </script>
js基本语法
<script type="text/javascript">
/*
JS注释多行
*/
// 单行
alert("hello");
document.write("hello");//页面上的
console.log("hello");
</script>
字面量和变量
<script type="text/javascript">
/*
字面量(常量),都是一些不可改变的值
比如 :1 2 3 4 5 "hello"
*/
// alert(123456);
var a;/*var 声明变量 默认值undefined*/
a =123;
a =456;
console.log(a);
var b =789;
console.log(b);
</script>
标识符
<script type="text/javascript">
/*
标识符
- 在JS中所有的可以由我们自主命名的都可以称为是标识符
1、标识符中可以含有字母、数字、_、&
2、标识符不能以数字开头
3、标识符不能是ES中的关键字或保留字
4、标识符一般都采用驼峰命名法
首字母小写、后面每个单词的开头字母大写、其余小写
helloWorld xxxYyy 小驼峰
HelloWorld XxxYyy 大驼峰
*/
// var a = 123;
// // var var = 123; 不能这样
// console.log(a)
</script>
数据类型
<script type="text/javascript">
/*
数据类型指的就是字面量的类型
在JS中一共有六种数据类型
基本数据类型:
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
引用数据类型:
Object 对象
其中String Number Boolean Null Undefined属于基本数据类型
而Object属于引用数据类型
\" 表示"
\' 表示'
\n 表示换行
\t 表示制表符
\\ 表示\
*/
var a =true;
var str ="hello";
str ="我说:\'今天\t天气真不错!\'";
str ="\\";
console.log(str);
var str2 ="hello";
str2 ="你好";
console.log(str2);
</script>
Number
<script type="text/javascript">
/*
在JS中所有的数值都是Number类型,
包括整数和浮点数(小数)
*/
var a =123;
a =12.333;
var b ="123";
// console.log(typeof a);
// console.log(typeof b);
a =Number.MAX_VALUE;/*最大值*/
// console.log(a);//1.7976931348623157e+308
a =Number.MAX_VALUE *Number.MAX_VALUE;//Infinity 无限大
// a = "abc" * "bcd";//NaN (Not a Number)
// a = NaN;
// console.log(typeof a);
a =Number.MIN_VALUE;//5e-324 最小值
console.log(a);
var f =0.1;
var g =0.2;
console.log(f +g);
console.log(
(parseFloat(f)*100 +parseFloat(g)*100) /100 /*精确运算*/
);
</script>
Boolean
<script type="text/javascript">
/*
Boolean 布尔值
布尔值只有两个,主要用来做逻辑判断
true
- 表示真
false
- 表示假
使用typeof检查一个布尔值时,会返回boolean
*/
var bool =true;//false
console.log(bool);
console.log(typeof bool);//boolean
</script>
Null和Undefined
<script type="text/javascript">
/*
Null(空值)类型的值只有一个,就是null
null这个值专门用来表示一个为空的对象
使用typeof检查一个null值时,会返回object
Undefined(未定义)类型的值只有一个,就undefind
当声明一个变量,但是并不给变量赋值时,它的值就是undefined
使用typeof检查一个undefined时也会返回undefined
*/
var a =null;
console.log(a);
console.log(typeof a);//object
var b;
console.log(b);//undefined 未定义 没赋值
console.log(typeof b);//undefined
</script>
强制类型转换
<script type="text/javascript">
/*
强制类型转换
- 指将一个数据类型强制转换为其他的数据类型
- 类型转换主要指,将其他的数据类型,转换为
String Number Boolean
*/
/*
将其他的数据类型转换为String
*/
var a =123;//number
var b =a.toString();//string 123
a =true;//boolean
a =a.toString();//string
a =123;
a =null;//null
a =undefined;//undefined
a =String(a);//string
console.log(typeof a);
console.log(a);
</script>
转换为Number
<script type="text/javascript">
/*
将其他的数据类型转换为Number
转换方式一:
使用Number()函数
转换方式二:
- 这种方式专门用来对付字符串
- parseInt() 把一个字符串转换为一个整数
- parseFloat() 把一个字符串转换为一个浮点数
*/
var a ="123";//123
a ='abc';//NaN
a ='789abc';//NaN
a ="";//0
a =" ";//0
a =true;//1
a =false;//0
a =null;//0
a =undefined;//NaN
a ="123px";//NaN
// a = Number(a);
a ="123px";//123
a ="a123px";//NaN
a ="123.456px";//132
a ="123.456.789px";//132.456 第二个点后面的全部舍去
a =parseInt(a);//parseInt只能取整数
a ="123.456px";//123.456
a =parseFloat(a);
a =true;//"true"--> NaN
a =123.456;//-->"123.456" -->123 //点后面全部舍去
a =parseInt(a);
console.log(typeof a);
console.log(a);
</script>
其他进制的数字
<script type="text/javascript">
var a =123;
/*
在js中,如果需要表示16进制的数字,则需要以0x开头 0 1 2 3 4 5 6 7 8 9 a b c d e f
如果需要表示8进制的数字,则需要以0 (0o)开头
如果要要表示2进制的数字,则需要以0b开头,但是不是所有的浏览器都支持
*/
a =0x10;//16
a =0xff;//255 //15x15
a =0xcafe;//51966
// console.log(a);
a =070;//56
a =0b10;//2
a ="070";//number
// a = parseInt(a);
a =parseInt(a,8);//56
console.log(typeof a);
console.log(a);
</script>
转换为Boolean
<script type="text/javascript">
/*
将其他的数据类型转换为Boolean
使用Boolean()函数
- 数字 ---> 布尔
- 除了0和NaN,其余的都是true
- 字符串 ---> 布尔
- 除了空串,其余的都是true
- null和undefined都会转换为false
- 对象也会转换为true
*/
var a =123;//true
a = -123;//true
a =0;//false
a =Infinity;//true
a =NaN;//false
a =Boolean(a);
a ="hello";//true
a ="true";//true
a ="false";//true
a ="错误";//true
a =" ";//true
a ="";//false
a =null;//false
a =undefined;//false
a =window;//true
a =Boolean(a);
console.log(typeof a);
console.log(a);
</script>
运算符
<script type="text/javascript">
/*
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回
"number" "string" "boolean" "undefined" "object"
算数运算符
当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算
任何值和NaN做运算都得NaN
+
+可以对两个值进行加法运算,并将结果返回
如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回
任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
-
- 可以对两个值进行减法运算,并将结果返回
*
* 可以对两个值进行乘法运算
/
/ 可以对两个值进行除法运算
%
% 取模运算(取余数)
*/
var a =123;
var result =typeof a;//number
// console.log(result);
// console.log(typeof result);
result =a +1;//124
result =456+789;//1245
result =true +1;//1+1=2
result =true +false;//1+0=1
result =2 +null;//2+0=2 null-->0
//任何值和NaN做运算都得NaN
result =2 +NaN;//NaN
result ="123" +"456";//"123456"
// console.log(result);
var str ="吃饭了吗?"+
"你好?"+
"吃饭了吗?"+
"没";
var c =123;
c =c+"";
c =123;
// console.log("c = " + c);//c = 123
// console.log(c);
result =1 +2 +"3";//33
result ="1" +2 +3;//123
result =100 -true;//99
result =100 -"1";//99
result =2 *"8";//16
result =2 *undefined;//NaN
result =2 *null;//0
result =4 /2;//2
result =3 /2;//1.5
// console.log("result = " + result)
var d ="123";
d =d -0;
// console.log(typeof d);
// console.log(d);
result =9 %3;//0
result =9 %4;//1
console.log("result = " +result);
</script>