JavaScript 基础

一 JavaScript 的书写形式

1.1 行内式

<input type="button" value="点我一下" onclick="alert('hello akai');" >

注意,JS 中的字符串常量可以用单引号表示,也可以使用双引号表示.HTML 中推荐使用双引号,JS 中推荐使用单引号(使用双引号容易出现截断问题)

1.2 内嵌式

 写到 script 标签中(建议写在</body>之前)

    <script>
        alert('hello akai');
    </script>

script 标签最好写在 </body> 前,需要根据场景需求放置标签位置,因为HTML 中的代码是根据顺序执行的,可能会出现变量为初始化的场景. 例:

<head>
    <script>
        console.log(document.getElementById('but').val);
    </script>
</head>
<body>
    <input  id="but" type="button" value="点我一下" onclick="alert('hello akai');" >
</body>

 

1.3 外部式

写到单独的 .js 文件中(建议写在</head> 之前)

<body>
    <script src="tool.js">
    </script>
</body>

 注意, 这种情况下 script 中标签中间不能写代码, 必须空着(写了代码也不会执行)

二 输入输出 

2.1 输入: prompt

弹出一个输入框

// 弹出一个输入框
<script>
    prompt('请输入你的名字:');
</script>

可以使用变量来接收 prompt 返回值.

2.2  输出: alert

// 弹出一个输出框
<script>
     alert('hello');
</script>
       

2.3 输出:  console.log

// 在控制台打印
<script>
     console.log('这是一条测试');
</scipt>
       

三 比较运算符

== 比较相等 , 会进行隐试的转换

=== 比较相等, 不会进行隐试类型的转换

四 数组

4.1 创建数组

    <script>
        // 使用new 关键字创建
        var arr=new Array();
        // 使用字面常量方式创建
        var brr=[]
        var crr=[1,2,'haha',true];
        crr='hello';
        console.log(crr);
        console(crr[1])//此时控制台上是不会有打印结果的
    </script>

js 中数组的元素下标可以不连续

注意:不要给数组名直接赋值,此时数组中的所有元素都没有了

4.2 新增数组元素

相当于在末尾新增元素,新增的元素默认值为 undefined

    <script>
        var arr=[9,3,4,5];
        arr.length=5;
        console.log(arr);
        console.log(arr[4]);//控制台打印undefined
    </script>

通过下标新增

    <script>
        var arr=[9,3,4,5];
        arr[5]=5;
        console.log(arr[4]);
    </script>

使用 push 进行追加元素

    <script>
        var arr=[1,2,3,4,5,6];
        var newArr=[];
        for(var i=0;i<arr.length;i++){
            if(arr[i]%2==1)
            newArr.push(arr[i]);
        }
    </script>

4.3 删除数组中的元素

    <script>
        var arr=[1,2,3,4,5,6];
        //从下标为2 的元素开始,删除2个元素
        arr.splice(2,2);
        //slice 不会改变原数组的结构,获取下标2和3 的元素
        var lo=arr.slice(2,4);
        console.log(arr);
    </script>

五 函数

5.1 语法格式

 function 函数名(形参列表){

        函数体

        return 返回值

}

 

//函数调用

函数名                                //不考虑返回值

返回值=函数名(实参列表)  //考虑返回值
 

 • 函数定义并不会执行函数体内容,必须要调用才会执行,调用几次就会执行几次

    <script>
        hello();
        hello();
        hello();
        function hello(){
            console.log('hello');
        }
    </script>

函数的定义和调用的先后顺序没有要求,且创建函数时形参可以不用声明类型

关于参数的个数

1)如果实参的个数比形参的个数多,则多出的参数不参与函数的运算

2)如果室参的个数比形参的个数少,则此时多出来的形参的是为 undefined

5.2 函数表达式

    <script>
        var add=function(){
            var sum=0;
            for(var i=0;i<arguments.length;i++){
                sum+=arguments[i];
            }
            return sum;
        }
        console.log(add(10,20));//30
        console.log(add(1,2,3,4));//10
        
        console.log(typeof add);//function
    </script>

此时形如 function(){} 这样的写法定义了一个匿名函数,然后将这个匿名函数用一个变量来表示,后面就可以通过这个 add 的变量来调用函数了

六 对象的使用 

使用{} 创建对象

    <script>
        var teacher={};//创建一个空对象
        var student={
            name: 'akai',
            height: 170,
            weight: 120,
            sayHello: function(){
                console.log('hello');
            }
        }
        student.sayHello();
    </script>

•  可以直接使用 { } 创建一个空对象 

•  属性和方法使用键值对的形式来组织(类似于HashMap)

•  键值对之间使用 , 分割. 最后一个属性后面的,可有可无

•  方法的值是一个匿名函数

使用对象的属性和方法:

<script>       
        //使用 .成员 访问运算符来访问属性 
        console.log(student.name);
        // 使用 [ ] 访问属性,此时属性需要加上引号
        console.log(student['height']);
        // 调用方法,别忘记加(),
        student.sayHello();
</script>

七. 猜数字

<h3>猜数字游戏</h3>
请输入要1-10的数字:
<input type="text" id="inputNum"><p></p>
<input type="button" value="查看结果" onclick="checkRight()"><br/>
<div id="print">
    
</div>

<script>
    function checkRight(){
        var randNum=Math.floor(Math.random()*10+1);
        var inputNum=document.getElementById("inputNum").value;
        var mes;
        if(inputNum==randNum){
            mes="<h4>恭喜你猜对了</h4>";
        }else{
            mes="<h4>你猜错了,正确答案是:"+randNum+"</h4>";
        }
        document.getElementById("print").innerHTML=mes;
    }
    

</script>

八 表白墙

<body>
    <div style="width: 100%;text-align: center;">
        <h3>表白墙</h3>
        谁&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:<input id="from"><p></p>
        对谁&nbsp;&nbsp;:<input id="to"><p></p>
        说 &nbsp;&nbsp;&nbsp;&nbsp;:<input id="mes"><p></p>
        <input type="button" value="提交" onclick="check()">
        <div id="wall">
        </div>
    </div>
    <script>
        function check(){
            var fromM=$("#from");
            var toM=$("#to");
            var mesM=$("#mes");
            if(fromM.val().trim()==""){
                alert("请先输入你的名字");
                fromM.focus();
                return;
            }
            if(toM.val().trim()==""){
                alert("请先输入对方的名字");
                toM.focus();
                return;
            }
            if(mesM.val().trim()==""){
                alert("请先输入要发送的信息");
                mesM.focus();
                return;
            }
            $("#wall").append(fromM.val()+"对"+toM.val()+"说"+mesM.val()+"<p></p>");
            // 将表格数据清空
            fromM.val("");
            toM.val("");
            mesM.val("");
        }
    </script>

</body>

 

 

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值