2.1JavaScript是什么
css用来美化页面
HTML:提供网页结构,提供网页中的结构和内容
2.2JavaScript能做什么
最初目的为了处理表单的验证操作,发展到现在几乎无所不能
Node.js服务端开发,前端中唯一可做后端程序
Electron桌面程序
App (Cordova)
物联网(Ruff)
游戏开发cocos2d-js
2.3JavaScript组成
ECMAScript(核心)和DOM和BOM
ECMAScript是一种由ECMA国际
BOM:浏览器对象模型
DOM:文档对象模型
3JavaScript
3.1行内式
以on开头的属性如(onclick)
3.2内嵌式(嵌入式)
<script>
alert('内嵌式');
</script>
3.3外部式
<script src='main.js'></script>
4注释
//单行注释
/**/多行注释
/**
*
*@param{}a
*@param{}b
*@returns
*/文档注释
5变量
"C:\Users\86130\Desktop\变量.png"
5变量
5.1什么是变量?
变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据。
5.2为什么要使用变量?
使用变量可以方便地获取或修改内存中的数据。
5.3 如何使用变量?
·变量的声明: var age;
·变量的赋值: age=18;
·同时声明多个变量:var age, name,gender; age=10;
name ='lili';
5.4变量的命名规则和规范
5.4.1规则——必须遵守的,不遵守会报错
·由字母、数字、下划线、$符号组成,不能以数字开头;
·不能是关键字和保留字,例如for、while;
·区分大小写。
5.4.2规范——建议遵守的,不遵守不会报错
·变量名必须有意义
·遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。例如:userName、userPassword。
5.5变量在内存中的存储
var age=18;
var name=‘zs’;
6数据类型
6.1简单数据类型
简单类型包括:Number,String.Boolean,Undefined,Null
6.1.1Number
·数值字面:数值的固定的表示法
·进制
·浮点型
·数值范围
Name.MIN_value最小值
Name.MAX_value最大值
++在变量后,表示先赋值在运算,++在前表示先运算,在赋值
6.1.2String型
字符串拼接 :使用+号链接
6.1.3 Boolean 类型
·Boolean字面量:true和false,区分大小写。
·计算机内部存储:true为1,false为0。
console.1og(true);
//true // console.1og(True);
// 错误:True is not defined
console.1og(true +0);
//1
console.log(true + false);
//1
6.1.4 Undefined
undefined的字面意思就是:未定义的值。这个值的语义是,希望表示一个变量最原始的状态,而非人为操作的结果。这种原始状态会在以下4种场景中出现:
·声明一个变量,但是没有赋值;
·访问对象上不存在的属性或者未定义的变量;
·函数定义了形参,但没有传递实参;
6.1.5 Null
null的字面意思是:空值。这个值的语义是,希望表示一个对象被人为的重置为空对象,而非一个变量最原始的状态。在内存里的表示就是,栈中的变量没有指向堆中的内存对象。
一般在以下2种情况下我们会将变量赋值为null:
·如果定义的变量在将来用于保存对象,那么最好将该变量初始化为null,而不是其他值。
·当一个数据不再需要使用时,我们最好通过将其值设置为null来释放其引用,这个做法叫做解除引用。
6.2复杂数据类型
复杂数据类型包括:Object、Date、Array等。
6.3获取变量的类型
typeof 可以获取变量的类型。
但是复杂类型及null 返回的均是object,不能确定具体类型。
6.4.2转换成数值类型
Number()
Number() 函数可以把任意值转换成数字。
如果对象的值无法转换为数字,那么Number() 函数返回NaN。
parselnt()
console.1og(parseInt ("123"));//123
console.log(parseInt ("12.3abc"));//12,如果第一个字符是数字会解析直到遇到非数字结束
console.1og(parseInt ("abc123"));//NaN,如果第一个字符不是数字或者符号就返回NaN
parseFloat()
parseFloat(函数可以把字符串转换成浮点数
parseFloat0)和parseInt0)非常相似,不同之外在于oparseFloat 会解析第一个同,当遇到第二个或者非数字时结束。如果解析的内容里只有整数,则解析成整数
console.1og(parseFloat("123.45"));
// 123.45
console.Tog(parseFloat("123,45abc"));// 123.45
console.1og(parseFloat("123.45.6"));// 123.45console.Tog(parseFloat("123"));
// 123
+,- ,0等运算
var str ="500";
consoTe.1og(+str);// 500
console.1og(-str);// -500
console.1og(str - 0);// 500
6.4.3 转换成布尔类型
Boolean()
(空字符串)、nu11、undefined、NaN 会转换成 false,其它都会转换成 true。o'
7 操作符与表达式
表达式由操作数和操作符组成,可以产生一个值,有可能是运算、函数调用,也有可能是字面量
表达式可以放在任何需要值的地方。
7.2 一元运算符
++
var num1 = 5;
num1++;
var num2 = 6;// 13
consoTe.Tog(num1+ ++num2);
var num3 = 6;// 12
consoTe.1og(num1 + num3++);
--
var numl = 5;
--num1;
var num2 = 6:// 9
console.log(num1 + --num2):
var num3 = 6:
console.log(num1 + num3--);// 10
7.3 逻辑运算符 (布尔运算符)
&&:与运算
两个操作数同时为 true,结果为 true,否则为 false。
||:或运算
两个操作数有一个为 true,结果为 true,否则为 false。
!: 非运算
逻辑值取反。
短路效果:第一个表达式能推断出结果,则不会执行第二个表达式
var a= 1.
var b = true ll ++a;
console.1og(b):// true
var c = false && ++a;
conso1e .og(c) ;// false
7.4 关系运算符(比较运算符)
<
>
>=
<=
==
!=
===
!==
==与=== 的区别:
==表示相等,会在进行相等比较之前先进行必要的值类型转换;=== 表示严格相等,运算符不会执行类型转换,如果两个值类型不同则
直接返回 false。
var res1 ='55'== 55:
var res2 =55' === 55;
var res3 = 55 === 55;
console.1og(res1);//true
console.Tog(res2);// false
conso1e.1og(res3);// true
7.5 赋值运算符
=
+=
-+
*=
/=
%=
var num = 0:
num += 5;
console.1og(num); // 5,相当于: num = num + 5
num *= 2;
conso1e.log(num);// 10,相当于: num = num * 2
7.6 运算符的优先级
优先级从高到底
1. ():优先级最高
2.一元运算符:++、--,!
3.算数运算符:先*、/、%,后+、-
4.关系运算符:>,>=,<,<=
5.相等运算符==,!=,===,!==
6.逻辑运算符:先&&,后||
7.赋值运算符=