1.js的输出语句
<script>
alert(" you are beautiful!");
document.write("succes!");
console.log("你好,控制台语句");
</script>
2.嵌入外部js
<script src="./js/index.js"></script>
3.js注释
//单行注释
/*多行注释*/
4.js书写规范
1.js中严格区分大小写
2.js中每一条语句以分号(;)结尾;如果不写分号,浏览器会自动加载,但是会消耗系统资源,而且有时候会加错分号,所以分号必须写
3.js中会忽略多个空格和换行,必须格式化文件。
5.字面量
* 都是一些不可改变的值;比如1,2,3,4,;字面量都是可以直接使用的,但是我们一般不会直接使用字面量
6.变量
*变量可以用来保存字面量,而且变量的值是可以任意改变的。
*声明变量,在js中使用var关键字来声明一个变量
var a;
a = 123;
console.log(a);
7.标识符
*(1)第一个字符必须是字母、下划线(_)或美元符号这3种其中之一,其后的字符可以是字母、数字或下划线、美元符号;
*(2)变量名不能包含空格、加号、减号等符号;
*(3)标识符不能和JavaScript中用于其他目的的关键字同名;
*(4)用驼峰命名法
8.js中的六大数据类型
- String 字符串
- Number 数值
- Boolean 布尔值
- Null空值
- Undefined 未定义
- object对象
9.转义字符
*String 字符串,在js中使用引号引起来;使用单引号双引号都可以.在字符串中可以使用\作为转义字符
* 当表示一些特殊符号时可以使用\转义
*\"表示"
*\'表示'
* \\表示\
* \n表示换行符
* \t表示制表符
var str = "hello";
str = "小明说:\"今天天气真不错\"";
console.log(str);
10.在js中所有数值都是number
*包括整数和浮点数(小数)
*可以使用typeof检测一下变量的类型
* typeof 变量
* Number.MAX_VALUE 1.7976931348623157e+308
* Number.MIN_VALUE 5e-324
* infinity无穷的;+Infinity正无穷 -Infinity负无穷
* 如果使用number表示的数字超过了最大值,则会返回一个infinity无穷的
* NaN 是一个特殊的数字,表示不是数字 Not a number
var a = 123;
var b = "123";
console.log(typeof(a));
console.log(typeof(b));
console.log(Number.MAX_VALUE);
var c = NaN;
console.log(typeof c);
d = Number.MIN_VALUE;
console.log(d);
11.js计算浮点数不准确
*使用js进行整数的计算,基本可以得到他的准确度。
*如果使用js进行浮点数计算,可能得到一个不准确的值
*var a=0.1+0.2;//0.30000000000000004
* 不要使用js进行对精度要求比较高的运算
12.Null类型只有一个,就是null
*null这个值专门用来表示一个为空的对象
* typeof null 返回一个Object
13.undefined 类型的值只有一个就是undefined
* 当声明一个变量,但是没赋值时,他的值就是undefined;
* 使用typeof 检查一个undefined时也会返回undefined
var a = null;
console.log(typeof a);
14.强制类型转换
*主要是将其他的类型,转换成 String Number Boolean
将其他类型转换成String
*方法一:调用被转换数据类型的toString()方法
* 该方法不会影响到原变量,有返回值
* 注意:null 和 undefined这两个值没有toString()方法
* 方法二:
* 直接调用String()函数
* 使用String()函数做强制类型转换时
* 对于number和boolean实际上就是调用toString()方法
* 但是对于null和undefined 就不会调用toString()方法
* 将null转换成"null" undefined转换成""undefined"
var a = 123;
var q = a.toString();
console.log(typeof a);
console.log(typeof q);
a = 234;
//调用String()函数,将a转换为字符串
a = String(a);
console.log(typeof a);
15.逻辑运算符
*!非
* 如果对一个值两次取反,数值没有变化
*&&与
* --&& 只要有一个false就为false
* --只有两个值都为true则为true
* --第一个值为true的时候才会检查第二个值,若第一个值为false就不再检查第二个值
*||或
* --||可以对符号两侧的值进行或运算并返回结果
* --只有一个数为true则为true,两个值都为false则为false
var a = true;
//对a 进行非运算
a = !a;
console.log(a);
const input = 1;
// 转换布尔值**
// 方案1 -使用双感叹号(!!)转换为布尔值
console.log(!!input); // true
// 方案2 - 使用 Boolean() 方法
console.log(Boolean(input)); // true
15.1.&& ||非布尔值的情况
*与运算:
* --对于非布尔值进行与或运算时,会将其转换Wie布尔值,然后在运算,并且返回原值
* --如果两个值中有false,则返回靠前的false
* *--如果两个值都为true,则返回靠后的true
* *--如果第一个值为true,则返回第二个值
* *--如果第二个值为false,则返回第一个值
* *
* 或运算:
* --如果返回第一个值为true,则直接返回第一个值
* --如果返回第一个值为false,则直接返回第二个值
*/
var r = 3 && 6;
console.log(r);//6
r = NaN && 0;
console.log(r);//NaN
r = 0 && NaN;
console.log(r);//0
r = 0 && 2;
console.log(r);//0
r = 2 && 0;
console.log(r);//0
* =
* 可以将符号右侧的值赋给符号左侧的变量
* +=
* a+=5 等价于 a=a+5
* -=
* *=
* %=
var a1 = 10;
a1 += 5;
console.log(+a1);//15
16.关系运算符
关系运算符可以比较两个值之间的大小关系
*如果关系成立它会返回true,如果关系不成立则返回false
* > 大于号
* --
* >=大于等于
* < <=
* 非数值的情况,
* --对于非数值进行比较时,会将其转换为数字然后比较
* --比较两个字符串时,比较的是两个字符串的字符编码
* --比较字符编码时是一位一位进行比较
* --如果两位一样,则比较下一位,所以借用它来对英文进行排序
注意:// 注意:在比较两个字符串型的数字时,一定要转型!!!
17.强制转换成number
转换方式一:
*使用Number()函数
*字符串-->数字
* 1.如果是纯数字的字符串则直接将其转换为数字
* 2.如果字符串中有非数字的内容,则转换为NaN
* 3.如果字符串是一个空串或者是一个全是空格的字符
* false--0,true--1 null 数字是0 undefined转换成数字NaN
var a = "123";
a = Number(a);
console.log(typeof a);
console.log(a);
var b = " ";
b = Number(b);
console.log(b);
console.log(typeof b);
转换方式二:
这种方式专门用来对付字符串
*parseInt()函数将a 转换为Number;
*把字符串转换成整数。可以将字符串中的有效整数内容取出来,然后转换为Number
*parseFloat()函数可以将有效的小数取出。把字符串转换成浮点数
18.进制
在js中,
如果需要表示16进制的数字,则需要以0x开头
如果需要表示8进制的数字,则需要以0开头
如果需要表示2进制的数字,则需要以0b开头**
var c = 0x10;
console.log(c);
// 像 '070'浏览器会将其误认为八进制
var d = 070;
console.log(d);
19.强制转换成Boolean型
将其他的数据类型转换为boolean
*使用Boolean()函数
*/
/** 调用Boolean()函数来将a 转换为布尔值
*数字类型------除了0 和NaN。其余都是true
*字符串中------null和undefined都会转换为false 除了空串,其余都是true;
*对象也会转换成true
var e = 123;
e = Boolean(a);
console.log(e);
20.运算符也叫操作符
*通过运算可以对一个或多个值进行运算,并获取运算结果
**比如:typeof 就是运算符,可以来获得一个值的类型
*他会将该值的类型以字符串的形式返回
* number string boolean undefined object
* 算术运算符+ - * / %
* 任何值和NaN运算结构都为NaN
* + 任何值和字符串做加法运算,都会将这些值转换成字符串,并做拼接操作
* 可以利用这一特点,将任意数据类型转换成String
* 我们只需要为任意的数据类型+"",即可转换成字符串
var f = 123;
f = f + "";
console.log(typeof f);
console.log(f);
console.log(3 + "3");
console.log("1" + 2 + 3);
// 只有+比较特殊,会进行拼接操作
var sum = 100 - true;
sum = 100 - "1";
sum = 2 * undefined;
sum = 2 * null;
sum = 2 / 3;
console.log(sum);
21.一元运算符
*+ 正号
*-负号
*对于非number类型的值:
* 它将会先转换成number类型,在进行运算
* 可以对一个其他的数据类型使用+,来将其转换为number
* 其原理和Number()函数相似
var g = "123";
g = +g;
console.log(typeof g);
22.自增++
*通过自增可以使变量在自身的基础上增加1
* 对于一个变量自增以后,原变量会立即自增1
var w = 20;
var result = w++ + ++w + w; //20+22+22
console.log(result);
var p = 20;
p = p++;
console.log(p); //20