蓝旭第三周预习-JS入门

一、引言


1.1JavaScript简介


·JavaScript是一种解释性脚本语言,是一种动态类型、弱类型、基于原型继承的语言,内置支持类型。

·它的解释器被称为JavaScript引擎,作为浏览器的一部分,广泛用于客户端的脚本语言,用来给HTML网页增加动态功能。

1.2JavaScript组成部分


~ECMAScript语法

~文档对象模型

~浏览器对象模型

二、JS的引入

2.1在标签内写JS


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>js引入</title>
</head>
<body>
    <!-- 方式1:在标签内可以直接写js代码 -->
    <button onclick="alert('点我了?')">按钮</button>
    <button name="alert('点我了?')">按钮2</button><!--只有onclickyouyong-->
    <!--
        onclick是html属性,是事件属性,在这里是鼠标点击事件
        属性值内部写的是js代码
        alert()是js的弹窗函数
    -->
</body>
</html>

2.2在文件中使用<script>标签引入JS


css写样式,需要把style标签写在head标签内

但是写js代码的script标签,可以写在html页面的任何位置 ,head、body标签内都可,但建议是放在后面,越晚加载越好

<script>
    alert("<script>标签内执行");
</script>
<!-- 方式2:将js代码写在当前页面,使用script标签 -->
    <button noclick="dj()">按钮2</button>
    <button noclick="dj()">按钮3</button>
    <button noclick="dj()">按钮4</button>

    <!-- 定义js代码 -->
    <script>
        function dj{
            alert("又点我了?")
        }
    </script>    

2.3独立的JS文件


1)创建一个后缀为.js的文件

2)文件内写js代码

3)在html文件内使用<script>标签引入该js文件

4)引入js文件的位置,在html中也是任意的

5)作为引入js文件的<script>标签,不能在其中间写js代码

<!-- 方案3:抽取代码写出独立的js文件,然后再引入 -->
    <button onclick="dj2()">按钮5</button>
    <button onclick="dj2()">按钮6</button>
    <script src="1.1dj.js"></script>

三、JavaScript基本语法

3.1变量

~在JavaScript中,任何变量都用var关键字来声明,var是varible的缩写

~var是声明关键字,a是变量名,语句以分号结尾(其实可有可无)

~值得注意的是,JavaScript中的关键字,不可以作为变量名(这点跟Java很像)

var a;
<script>
//单行注释
/*多行注释*/
//------变量------
//声明变量
var a;
//变量赋值
a=1;
a='a';
a=true;
//输出语句
a=1;
console.log(a);
a='a';
console.log(a);
a=true;
console.log(a);
</script>

JavaScript是弱类型语言,声明时不需要设置变量的类型,赋值时就可以赋值任何类型

3.2基本数据类型

基本类型五种

~数字

~字符串

~布尔型

~未定义

~空

//----------------数据类型----------------
var b=1;//number
console.log(typeof b);

var c="字符";//string
console.log(typeof c);

var d="true";//boolean
console.log(typeof d);

var e;//undefined
console.log(typeof e);

变量有不同的类型,不同类型使用的作用不一样

~number类型,数字,可以做运算,逻辑运算等

~boolean类型,用于逻辑判断,分支语句,循环。。。

~string类型,使用字符串方法。对操作符操作(同Java中String操作很像)

3.3引用类型[重点]

其实引用类型是借鉴Java中对象的思想.

JS中的引用类型是JSON(JavaScript Object Notation),即JavaScript的对象标记,也就是说,在JavaScript中,JSON是用于标记一个对象的。

前后端交互用的数据格式就是JSON

语法格式

~JSON对象使用大括号,{}

~大括号内,是键值对,键值对使用是冒号分割.{key:value}

~键正常写,值的写法区分数字、字符串、布尔值、数组、对象。。。

        ·{id:18}数字直接写

        ·{name:"哈哈哈"}字符串需要双引号

        ·{sex:true}布尔值直接写

        ·{arr:[1,2,3]}数组使用[]

        ·{obj:{}}对象使用{}

~大括号内,可以同时写多个键值对,中间使用逗号分隔

        ·{id:18,name:"张三",sex:ture}

//----------------JSON-------------------
var obj={
    id:1,
    username:"admin",
    sex:true,
    age:18,
    phone:["18511116666","15366665516"],
    address:{
        country:"China",
        province:"AnHui",
    }
}
//取值:对象.key
console.log(obj.id);

3.4数组类型

数组就是用来存储多个数据

·创建时可以是空数组,后面也可以继续赋值

·数组没有长度限制

·数组存储的类型没有限制


创建数组的语法

·var 名字[]

·var 名字=new Array()

取值赋值的语法

·数组名[下标]

//----------------数组----------------
var arr = [];//js的数组,长度不固定,类型不固定
console.log(arr);
arr[0]=1;
arr[1]="a";
arr[2]={id:1,name:"zmq"}
console.log(arr);

var arr1= [];
var arr2=new Array();
var arr3=[2,false,"abc"];
var arr4=new Array(2,false,"abc");

//---------------数组的API---------------
var arr5=[];
//向数组存储元素
arr5.push(1);//-------放尾部
arr5.push(2);
console.log(arr5);//打印的结果是[1,2]
arr5.unshift(3);//-----放头部
console.log(arr5);//打印的结果是[3,1,2]
//删除
arr5.shift();//-----默认删除开头第一个
console.log(arr5);//打印的结果是[1,2]
arr5.pop();//-------默认删除尾部
console.log(arr5);//打印的结果是[1]
//添加/删除---抽象
var animals=["cat","dog","fish"];
animals.splice(2,0,"sheep","pig");
//查询
var arr7=[1,2,3,4,5,6,7,8];
function getOdd(e){
    return e %2 == 1;
}
var ret = arr.find(getOdd);//find是返回第一个满足条件的,所以打印1
console.log(ret); 
var ret2 = arr7.filter(getOdd);//返回所有满足条件
console.log(ret2); 

//遍历
for(var i = 0;i < arr7.length;i++){
    console.log(arr7[i]);
}

3.5日期类型

创建日期对象,

日期对象提供了方法可以获得/设置日期的信息

<script>
//创建日期对象
var date=new Date();//当前时间
console.log(date);

//创建时间时指定毫秒值
var date2=new Date(1000*60*60*24*40);
console.log(date2);

//以指定年月日创建日期,月份特殊:一月是0,十二月是11
var date3=new Date(2024,4,15);
console.log(date3);

//获得日期的方法
var year=date3.getFullYear();//获得年
var month=date3.getMonth()+1;//获得月,0-11
var day=date3.getDate();//日
var week=date3.getDay();//周,0-6 周日是0,周六6
console.log(year+"/"+month+"/"+day+"周"+week);

//设置日期
date.setFullYear();

//按照本地日期格式输出日期
var dateString=date.toLocaleString();
console.log(dateString);
</script>

3.6运算符

console.log(10/2);
console.log(10/3);//输出3.33333...除不尽会保留小数
//== 判断内容是否相等
//=== 判断内容和类型
console.log(1==1);//T
console.log(1=="1");//T
console.log(1==="1");//F
console.log(1===1);//T

3.7分支

·if

·if-else

·if-elseif-···-else

·switch

与java类似

// 判断数字,非0即对
//判断字符串,非空即对
if(""){
    console.log("dui");
}
else{
    console.log("cuo");
}

3.8循环

·while

·dowhile

·for

也与java基本一致

3.9函数[重点]

函数就是java中方法的概念,用来完成某些功能的。

<script>
/*
 * 函数即方法
 * 1 必须有关键词function
 * 2 其后直接写函数名
 * 3 方法名后写参数列表
 *      参数直接写参数名即可,不需要写类型,var也不需要写
 *      多个参数逗号隔开即可
 * 4 列表后函数{}
 * 5 不需要返回值类型,也不需要void
 * 6 如果想返回数据,直接在函数体{}内直接写return即可
*/
function m1(){
    console.log("无参无返回值");
}
function m2(a,b){
    console.log("有参无返回值"+a+"-"+b);
}
function m3(a,b){//有参有返回值
    var c=a+b;
    return c;
}
/**
 * 方法调用,直接通过方法名即可
**/
m1();
m2(2,3);
var ret = m3(2,3);
console.log(ret);//注意,如果直接m3(2,3)则什么都打印不出

//匿名函数--单独写没意义,需要配合事件
onclick = function(){
    console.log("匿名函数");
}
var arr8=[1,2,3,4,5,6,7,8];
var ret=arr8.filter(function(e){
    return e%2==1;
});
var ret2=arr8.filter((e)=>{
    return e%2==1;
});
var ret3=arr8.filter(e=>e%2==1);
console.log(ret3);

</script>

四、常见的弹窗函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=, initial-scale=1.0">
    <title>弹框函数</title>
</head>
<body>
    <button onclick="m1()">警告框</button><br/>
    <button onclick="m2()">确认框</button><br/>
    <button onclick="m3()">会话框</button><br/>
    <script>
        function m1(){
            alert("服务器正忙,稍后再试")
        }
        function m2(){
            // var ret = confirm("是否确定删除")
            // console.log(ret);
            if(confirm("是否确定删除")){
                console.log("删除");
                //将来要发请求,将数据删除
            }
            else{
                console.log("取消删除");
            }
        }
        function m3(){
            prompt("请输入口令");
        }
    </script>
</body>
</html>

  • 28
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值