---恢复内容开始---
1-语法标准(Ecmascript)
DOM
BOM
2=特点以及适用范围
简单易用:封装好了一些方法,属性
基于对象
面向对象: 属于编程思维(思想)
C#,C++,Java,PHP.....
基于对象:
3-解释执行
编译执行:(C#)
C#(源代码===)》编译(.dll文件)===》计算机执行dll文件
解释执行:JS特点(代码直接执行)
4-写法
内嵌式写法写在head标签里
<script type="css/javascript">
<script>
外联式写法
后缀名.js
引用<spript type="text/javascript src="""><spript>
5-补充属性
async:异步
注意:该属性指的是浏览器将外部JS文件下载完成后,立马执行。
defer:延时执行
注意:该属性值值得是浏览器将外部JS文件下载完成后按顺序执行。
行内(不常用)
<div onclick=“”***“”></div>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="css/javascript" src="1.js" async></script> <script type="text/javascript"> alert(1)(括号里如果写汉字或者字母 需要带引号) alert(1) alert(1) </head>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script>alert(1)</script> <script>alert(2)</script> <script>alert(3)</script> <script type="css/javascript" src="1.js" defer></script> <script type="text/javascript"> alert(4) alert(5) </head>
---恢复内容结束---
1-语法标准(Ecmascript)
DOM
BOM
2=特点以及适用范围
简单易用:封装好了一些方法,属性
基于对象
面向对象: 属于编程思维(思想)
C#,C++,Java,PHP.....
基于对象:
3-解释执行
编译执行:(C#)
C#(源代码===)》编译(.dll文件)===》计算机执行dll文件
解释执行:JS特点(代码直接执行)
4-写法
内嵌式写法写在head标签里
<script type="css/javascript">
<script>
外联式写法
后缀名.js
引用<spript type="text/javascript src="""><spript>
5-补充属性
async:异步
注意:该属性指的是浏览器将外部JS文件下载完成后,立马执行。
defer:延时执行
注意:该属性值值得是浏览器将外部JS文件下载完成后按顺序执行。
行内(不常用)
<div onclick=“”***“”></div>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="css/javascript" src="1.js" async></script> <script type="text/javascript"> alert(1)(括号里如果写汉字或者字母 需要带引号) alert(1) alert(1) </head>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script>alert(1)</script> <script>alert(2)</script> <script>alert(3)</script> <script type="css/javascript" src="1.js" defer></script> <script type="text/javascript"> alert(4) alert(5) </head>
6-JS中常用的输出消息的方式
通过alert(123)或者(“”字母“”或者“”汉字“”)
通过document.write(“”你好");
注意:该方法中还可以设置html标签
document.write(“”<h1>你好</h1>“”);
在控制台中输出消息
console.log(123);
console.log("你好");
接受用户输入信息
prompt(“”请输入您的姓名“”);
确定取消方法
confirm(“”确定退出么?“”)
7-变量(重点)
变量:会变化的量(数据)用来存储数据的容器
变量定义:var 变量名 = 值 ;
注意1 首先定义变量必须使用var 关键字
2 “”=“” 赋值运算符
3 一个变量只能保存一个值(只能保存最后一个赋值结果)
变量命名规范
不推荐使用汉字定义变量
不能使用特殊字符或者特殊字符开头
不能使用数字或者以数字开头定义变量
变量中间不能出现空格
不能使用关键字定义变量
不推荐使用保留字定义变量
注意:1一行完整的代码结束后必须以;结束
2 JS中区分字母大小写
8-数据类型介绍
数据类型是用来确定变量的存储位置
常见的数据类型:
1.数字类型(number)
如果一个变量的值是纯数字,那么该变量的数据类型就是数字类型
数字类型的表示方式有
十进制、十六进制(0X开头 0-f)、八进制(以0开头 0-7)
2.字符串类型(string)
如果一个变量的值使用双引号或者单引号,那么该变量的数据类型就是字符串类型。
字符串特性:不可变性。(在内存中的不可变,不是值不可变)(注意不要大量拼接字符串)
属性:变量.lengh 获取字符串长度
转义字符(了解)
\" 转双引号 \'转单引号 成对出现 例:alert(“今天学习了\“ js \” ”);
\r回车符
\n换行符
3.布尔类型(boolean)
如果一个变量的值是true或者false 那么该变量的数据类型就是布尔类型
对象(object)
看得到,摸得着,特征具体事物
//封装//继承//多态
1属性(特征)
2方法(功能)
创建对象
var 变量 = new Object()
var xw=new Object();
xw.name="小王";
xw.age=18;
xw.shengao=180;
//功能 函数(方法)
xw.say=function() {
alert("你好");}
console.log(xw.name+xw.age+xw.shengao);
通过字面量创建对象
var xw={
name:"小王",
age:18,
shengao:180};
数组(array)
undefined类型
如果一个变量的值是unddefined或者定义了一个变量没有给该变量赋值。那么该变量的数据类型就是undefined。
例子:变量在没有赋值的情况下,那么该变量的默认值就是undefined,对应的数据类型undefined类型。
例子var = 1
var n2
alert(n2);
比较运算符
大于 >
小于 <
等于 ==或者=== 一个=属于赋值运算符
不等于 !==
大于等于 =>
小于等于 <=
注意:1通过比较运算符得到的是一个布尔类型的结果
2一般情况下true代表正确的(条件成立),false代表错误的(条件不成立)
算数运算符
加 +
(1如果是数字类型的变量相加,最后结果也是数字类型
2如果是非数字类型的变量相加,最后的结果是字符串【加号起到的作用是连接作用】)
减 -
(1如果是数字类型变量相减,最后的结果是数字类型
2如果是数字的字符串相减,最后的结果是数字【由于:隐式数据类型转化】
3如果是非数字的字符串相减,最后得到的结果是NaN【NaN:not a number】)
乘 *
除 /
(1如果是数字类型的变量相除,最后的结果是数字类型
2如果除数是0,得到的结果是无穷大的值infinite)
取余 %
()优先级
数据类型判断
typeof(变量)===>用alert(typeof(X));来确定结果是什么数据类型
注意:1如果一个变量的值是NaN,那么该变量的数据类型就是number类型。
2如果一个变量的值是infinity,那么该变量的数据类型是number类型。
3如果一个变量的值是undefined,那么该变量的数据类型是undefined类型。
isNaN()判断是不是一个数字
新内容学习
1-Maht对象
Math.ceil(x) 对数字进行向上舍入(天花板函数)
注意:1该方法返回的是一个大于当前数字,并且与它接近的一个整数。
2如果当前数字是一个整数,那么返回的就是当前数字本身
Math.floor(x) 对数字进行向下舍入(地板函数)同天花板函数
Math.abs(x) 返回数字的绝对值
Math.radom() 返回0-1之间的随机数
注意:该方法不能取到0和1
Math.max(x,y) 返回X和Y之间的最大值
min(x,y)返回最小值
Math.round(x) 返回X的四舍五入值
注意:该方法返回的是一个整数
Math.pow(x,y) 返回X的Y次方
2-数据类型转换
1隐式转换
程序在参与运算的过程中,发生的数据转换
2 显式转换(强制转换)
工程师指定的具体数据类型
将数字类型转化为字符串类型
1通过变量 .toString()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="text/javascript"> var n1=123; alert(typeof(n1)); //数据类型转化 n1=n1.toString(); alert(n1); alert(trpeof(n1)); </script></head>
2通过String()转化为字符串类型
将toSting行代码转化为 n1=String(n1)
字符串类型转成数字类型
1Number()
特点:转化为数字类型,保留原来值的内容
<script type="text/javascript"> var n1="123"; n1=Number(n1); alert(n1); alert(typeof(n1));
2pasrInt(x) 特点:转化为整数,但只能保留整数部分。
3parseFloat(x) 特点:通过该方法可以转换为数字类型,但是要保留原来的内容。
2如果是非数字的字符串,直接保留数字部分
转化为布尔类型
Boolean(x) 注意1 数字0,空字符串,NaN,undefined,null转化为false
2除以上特殊值,转布尔类型都是true ture是1 0是false是规定
3-逻辑运算符
或运算 ||
注意:通过逻辑运算符要链接布尔类型的结果。
与(且)运算 &&
非 !
4-等于逗号运算符
= 赋值 == 相等:只判断值不判断数据类型 === 相等:同时判断值和数据类型 !=不相等
,运算符 var n1=123,n2=123;
5-分支结构(条件判断)
语法 if(条件表达式){逻辑代码;}
else{逻辑代码;}
执行顺序:首先进行条件判断,如果条件成立(true),那么程序执行if语句中的代码,反之else
6-断点调试
作用:获取程序中的执行过程,排查错误。
使用:首先运行程序》点击审查元素》点sources 在浏览器中打开代码点击html页面》设置断点》再次运行程序或者F5
》点击下一步或者F10
监视变量:1鼠标直接悬停变量 2 右键变量 添加监视变量。ADD~~WATCH
7-条件结构嵌套
语法:if(条件表达式){}else if (条件表达式){}else if{} else{}
执行顺序:首先进行表达式判断,如果条件为true那么就立即执行,如果条件为false那么执行else中的代码
8-三元运算
语法:条件表达式? 代码1:代码2;
执行顺序:如果条件成立执行代码1,如果条件不成立执行代码2
注意:1三元表达式可以嵌套,一般不推荐使用。
var n1=prompt("请输入一个数字”); //如果用if else写 if(n1%2==0){ alert("偶数");} else{ alert(“奇数”);}// //用三元运算// n1%2==0?alert("偶数"):alert("奇数");
9-Switch(变量){
case 值1:
代码例如alert(n1)
break;
case 值2:
代码
break;}
注意1在Switch语句中,Switch中的变量数据类型必须与case后面的值的数据类型保持一致。
2一般情况下,如果变量表示的不是一个范围,而是一些具体值,可以考虑使用Switch结构
简写方式
switch(fname){ case"2": case"4": case"6"; alert("偶数"); break;
变量自增自减
var i =7;
变量自增:i++或者++i 例如J=i++的结果是J=i 如果是J=++i 就是 j==i+1
变量自减
循环
while循环
语法:初始化变量 var a=1;
while(条件表达式){
循环体代码;}
执行过程:1变量初始化 2开始判断条件 3 如果条件为true,那么程序会进入循环体代码 4如果条件为false,那么程序不会进入循环体中循环代码
do while循环
语法:初始化变量
do{
循环体;}
while(条件表达式)
执行顺序:1首先执行do中的代码 2然后判断条件是否成立 3如果条件成立,则继续成立do中的代码 4如果条件不成立,那么程序结束。
与while循环的区别:在条件不满足的情况下,do while要比while循环多执行一次。
for循环
语法: for(变量初始化;表达式;变量自增或自减){
循环体代码;}
执行过程:1变量初始化 2进行表达式判断 3 如果表达式成立,执行循环体中代码,然后进行变量自增或自减继续判断表达式成立,如果成立则继续 4 如果表达式不成立,则程序结束
例子:打印直角三角形
for(var i=1;i<=9;i++){ for(var j=1;j<=i;j++){ document.write("*");} document.write("<br>"); }
创建表格
<style type="text/css"> table{width:400px;height:300px;border=collapse;} table,td{border:1px solid red;} <script type="text/javascript"> document.write("<table>"); //创建行tr for(var i=1;i<=4;i++){ document.write("<tr>") for(var j=1;j<=i;j++) document.write("<td></td>") document.write("</tr>") document.write("</table>")
break和continue语句
break:在循环中使用break语句,程序会跳出当前循环
例子:找出1-10中第一个是2的倍数
for(var i=1;i<=10;i++){ for(i%2==0){ alert(i); break; } }
continue
结束本次循环,进入下次循环,continue后面的代码不会执行
例子:输出1-10所有数字 不包括6
for(var i=1;i<=10;i++){ if(i==6){ continue; } alert(i); }
数组
数组可以一次保存多个值
定义数组:
*通过对象方式创建数组
var ary=new Array();
直接创建一个数组
var ary=[ ];’
数组赋值:
通过索引(下标)赋值 注意:数组中索引 号(编号)从0开始
var ary=[];
ary[0]=1;
console.log(ary);
数组遍历:
<script type="text/javascripe"> var ary=[1,2,3,4,5,6,7,8]; alert(ary.length);//获取数组长度 for(var i=0;i<ary.length;i++){ alert(ary[i]);} </script>
数组中的方法补充
1 合并两个数组通过concat,通过该方法返回的是一个新数组,数据类型object
var ary1=[xxxx] ~~~2=[~~~] var ary3=ary1.concat(ary2);
alert(ary3);
2 join 更改数组显示方式,通过该方法的得到的是一个字符串类型
var ary=[1,2,3];
ary=ary.join("|");
alert(typeof(ary));