基础语法
预备知识
1.语句
通常一行代码 如果添加了分号->一条语句
使用;分隔
2.变量
目的
通过一个名字 来表示一个可以改变的值
定义方式
ver 变量名=值;
var关键字
不赋值
var 变量名
关键字
什么是关键字
语言本身提供的名字
有固定意义
var
如var 就是定义变量的意思
语言本身 提供了很多关键字
var
for
if
变量名
开发者起的一个名字
注意
1.不能使用关键字 定义变量名
2.不能以数字开头
3.不能以特殊符号开头
4.定义变量名要有意义
驼峰命名法
第一个首字母小写其他首字母大写
下划线命名法
意义
变量名
开发者起的一个名字
外号
标记
值
具体内容
数字
文字(字符串)
数组
对象
由名字 表示 后面的值
子主题 1
3.注释
单行注释
Ctrl+/
多行注释
Ctrl+shift+/
没实际意义,不会去执行
只让开发者看到
不让浏览器看到,屏蔽了浏览器
4.调试
按F12(右键检查元素)->console
数据类型
Number 数字类型
包含浮点和整数
String
字符串类型“”或者"包裹的都是字符串
boolean
波尔类型
true
对
false
错
Array 数组
Object 对象
Function 函数
数据类型的转换
字符串 转数字
转整数
parselnt()
转浮点
parseFloat()
如何使用小数?
精度丢失
不要直接使用小数
非要使用
1.乘以100(精准的级别)倍
2.运算完毕 再还原倍数
运算符
算术运算符
+
-
*
/
%
复合运算符
+=
var a =10;
var b = 20;
a =a+ b
a += b
-=
var a =10;
var b = 20;
a- =a+ b
*=
/=
%=
++
自己给自己增加一个一
--
自己给自己减少一个一
自增自减运算符
比较运算符
结果
就是一个Boolean类型的值
true
false
>
<
>=
<=
==
忽略数据类型
1与“1”认为是相同的
===
严格查看数据类型
1与“1”认为是不相同的
必须类型与值都相同
!=(不等于)
1 “1”
假的
!==
1 “1”
真的
逻辑运算符
与&& (两个and符)
所有条件 都必须满足 才算真的
或||
只要有一个条件满足 就是真的
非!
黑白颠倒
对的就是错的 错的就是对的
/*
* 表示真的值
* true
* 1
* 有内容的字符串“xx”(不是空字符串)
*(存在值的)有值的对象
*
* */
/*表示假的值
* false
* 0
* null
* undefineded
* NaN
* 空字符串“ ”
* */
三元运算(三目运算)
经常代替if else语句
if(睡觉){
做梦
}else{
掌握三元运算
}
三元运算
睡觉?做梦:掌握三元运算
条件?满足执行:不满足执行
必须 数字与 数字之间 运算
输入内容
prompt() 弹窗
输出
console.log(a);//日志
console.warn(a);//警告
console.info(a);//详细信息
调试方式
1.console.log(a);//日志
2.断电调试(至少是半个大神级别才会)
在程序中 打点 阻止继续执行
调试流程
1.先通过经验 定位到 大概错误位置
2.打开浏览器中的sources
3.点击要调试的文件(js)
4.在怀疑有错误的地方 点个点(打断点 在数字位置)
5.程序重新运行会在断点位置停止
->鼠标移动到断点上面的变量
->就会显示变量的值
6.如果继续排错 可以打多个断点
通过播放键 跳到下一个断点
通过下一步 执行下一步代码
分支结构
if语句
if(条件){
}
if(条件){
}else{
}
if(){
}else if(){
}else{
}
switch
选择其中的某一个点子(case)
switch(变量){
case值1:
break;
case值2:
break;
default:
}
break不是强制添加的 如果不添加break 程序会继续走下面的条件
循环结构
知道循环次数
for
for(var i=0;i<5;i++){
循环体;
}
for()中的各个语句的含义
var i=0; 初始化变量
i<5; 循环的条件
i++;更改变量的值
不知道循环次数
while
while
while(条件){循环体}
do while
do while
不管条件 满不满足 先执行一次循环
循环相关的关键字
continue
从continue的位置开始 跳过本次循环
continue前面不会跳过
for (var i=1;i<=100;i++) {
console.log("晕晕晕");
if (i===33||i===55||i===72) {
continue;
// 从continue的位置开始 跳过本次循环
}
console.log(i);
}
break
跳出循环
函数
具备某些功能的工具
四种类型
无返回值
带参数
不带参数
var 函数名 = function函数名(){}
function函数名(){}
函数名()
整体
有返回值
带参数
不带参数
返回值
带返回值的函数是什么?
返回值 是什么 函数就是什么
1
function x(){return 1}
return 值;(return 后面加个值)
return
放到函数中
return 值;
有返回值的函数
return ;
跳出函数
组成
声明函数
function函数名(){}
调用函数
函数名()
内置函数
console.log();
console.log() 方法用于在控制台输出信息。
该方法对于开发过程进行测试很有帮助。
alert()
alert() 方法用于显示带有一条指定消息和一个 确认 按钮的警告框。
Math.random();
随机数
prompt()
prompt()方法用于显示可提示用户进行输入的对话框。
封装
编程思想
参数
形式参数
形参
没有实际意义
代表着 即将传进来的实参
实际参数
实参
是 实实在在的一个值
返回值
带返回值的函数是什么?
返回值 是什么 函数就是什么
1
function x(){return 1}
return 值;(return 后面加个值)
return
放到函数中
return 值;
有返回值的函数
return ;
跳出函数
作用域
概念
变量起作用的范围
局部变量
作用域 只在定义的函数体 里面,在函数体外面是不可以使用的
全局变量
子主题 1
自执行函数
作用域的问题(防止多个js文件间 变量互相影响)
作业
面试题
作业
回顾
1.
变量的定义
值可以被更改的量 叫做变量
公式:var 变量名 = 值;
var a = 30;
a = 10;
a = 25;
2.
数据类型
数字Number
数字
字符串转数字
parseInt()
整数
一、脚本语言
语言特性:松散 对开发者的要求很低
如定义变量,严谨语言 int a=30;
松散的语言 var a=30 永远不会认为开发者写代码有问题
定义的是数字,用的是字符串
1.把数组转换成字符串
2.执行开发者写的程序
正常一条语句结束会用分号
二、1.语句 通常一行代码如果添加了分号,就是一条语句 英文分号分隔
2.变量 目的 通过一个名字来表示一个可以改变的值
定义方式 var变量名=值 var关键字
不赋值 var变量名
关键字 var
什么是关键字 语言本身提供的名字 有固定意义 var定义变量用
变量名 开发者起的名字
注意:不能使用关键字定义变量名;不能以数字开头;不能以特俗符号开头;要有意 义 (驼峰命名:第一个单词小写其他字母大写;下划线命名法)
3.注释
单行注释// 多行注释 Ctrl+shift+/
4.调试 f12 或者 右键检查元素里面的 console
5.算数运算符
+
-
*
/
%(取余) 数字与数字之间运算
符合运算符 += -= *= /= %=
++给自己增加一个1
--给自己减少一个1
数据类型
* Number 数字(浮点《小数》、整数)
* String 字符串类型 使用双引号、单引号包裹起来的都叫字符串
* 字符串转数字
转整数 parseInt()
转浮点 parseFloat() 如果使用 parseFloat 不要直接使用小数 精度丢失
如果使用小数,乘以10的n 倍(精准的级别)运算完毕在还原
* Array 数组
* Object 对象
* Function 函数
6.输入内容 prompt()
if语句
switch 选择其中的某一个点子(case)
switch(变量){
case 值1:
break;
case 值2:
break;
default:}
break 不是强制添加 但是如果不添加break 程序会继续走下面条件
例:
var loginType = 1;
// switch (loginType) {
// case 0:
// alert("手机号登录");
// break;
// case 1:
// alert("QQ登录");
// break;
// case 2:
// alert("WeChat登录");
// break;
// case 3:
// alert("sina");
// break;
// default:
// alert("手机号登录");
// break;
// }
具备某些功能的工具
四种类型
无返回值:带参数
不带参数
* 必须去使用(调用)这个函数 才会去执行
* */
// var xx=function () {
// console.log("xxxxxxxx");
// };
//调用函数--》函数体里面的代码才会去执行
// xx();
参数
//形式参数 dongxi 代表着调用函数的时候传入的实数(实参)
function geilaoshixiayao(dongxi) {
document.write("老师喝了白开水混合"+dongxi);
}
//"冰糖" 实际参数 实际传入到函数中的参数
geilaoshixiayao("冰糖");
geilaoshixiayao("毒药")
;
有返回值:带参数
不带参数
知道循环次数 for
for(var i =0 ;i<5;i++){ }
for()中的各个词语的含义:var i=0初始化 变量 i<5;循环条件 i++更改变量的值
不知道循环次数 while
//100以内所有偶数的和
// var sum=0;
// for(var i=0;i<101;i++) {
// if (i % 2 === 0) {
// sum=sum+i;
// }
// }
// console.log(sum);
continue 从continue的位置开始 跳过本次循环 continue前面不会跳过
//跳出循环
for(var i=1;i<101;i++){
console.log("YYYYY")
if(i===33){
continue;
}
if(i===55){
continue;
}
console.log(i);
}
//while循环
var blood =1000;
while (blood>0){
var skill=prompt("请输入技能:1");
blood-=500;
console.log(blood);
}
while while(条件){循环体}
do while
do{}while()
返回值是什么 函数就是什么 function x(){return 1}
return 值
放到函数中
return 值 有返回值的函数
return 跳出函数
三元运算(三目运算)经常代替 if else
if语句
if(睡觉){
做梦}
else{
掌握三元运算}
三元运算
睡觉? 做梦:掌握三元运算
条件(xx==c=xxx)?满足执行:不满足执行