JavaScript(1)ECMAScript

简介

客户端脚本语言

运行在客户端浏览器中 每一个浏览器都有JavaScript的解析引擎

较早时候,客户端向服务器端上传表单, 表单的完整性以及数据的合法性是由服务器端进行判断的,效率低下;所以客户端脚本语言就应运而生了,直接在客户端对要上传的数据进行判断,那么就不用进行数据传送,提高效率。

所有的脚本语言都有BOM、DOM

注意script标签在HTML中的顺序,会影响代码的执行顺序,比如下面的代码中就会先弹出提示,然后再加载文本输入框

与HTML结合的两种方式

注释

//

/**/

数据类型

原始数据类型 五种 number、string、boolean、null、undefined

引用数据类型

变量

Java 强类型 在申请空间的时候要规定存放的数据的类型

JS 弱类型 在申请空间的时候不用规定存放的数据的类型

<script>
    var a = 1;
    document.write(a+"是"+typeof(a)+"类型的"+'<br>');
    a = 'abc';
    document.write(a+"是"+typeof(a)+"类型的"+'<br>');
    document.write(a+"是"+typeof(a)+"类型的"+'<br>');
    alert(a);
    var num = NaN;
    document.write(num+"是"+typeof(num)+"类型的"+'<br>');
    var obj = null;
    var obj2 = undefined;
    var obj3;
    document.write(obj+"是"+typeof(obj)+"类型的"+'<br>');
    document.write(obj2+"是"+typeof(obj2)+"类型的"+'<br>');
    document.write(obj3+"是"+typeof(obj3)+"类型的"+'<br>');
</script>

运算符

var a = +"123";

document.write(typeof(a)); // number

比较运算符

逻辑运算符

三元运算符

var a = b > c ? b;

特殊语法

流程控制语句

练习 打印九九乘法表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS</title>
    <style>
        td{
            border: 1px solid;
            color: red;
            background-color: aqua;
        }
    </style>
    <script>
        document.write("<table align='center'>");
        for(var i = 1;i <= 9;i++){
            document.write("<tr>");
            for(var j = 1 ;j <= i;j++){
                document.write("<td>");
                document.write(i+"*"+j+"="+i*j+"&nbsp;&nbsp;&nbsp;");
                document.write("</td>");
            }
            document.write("<br>");
            document.write("</tr>")
        }
        document.write("</table>");
    </script>
</head>
<body>

</body>
</html>

方法

定义方法的两种格式

function solve(a, b) {
    document.write(a+b);
}
solve(2,5);

var solve2 = function (a, b) {
    document.write(a+b);
}
document.write("<hr>")
solve2(6,8);

使用内置对象计算多个数的和

Array对象

常用方法

join方法、put方法添加元素

Data对象

var date = new Date();
document.write(date);
document.write("<hr>");
// 返回当前date对象对应的时间本地格式字符串
document.write(date.toLocaleString());
// 返回当前日期对象描述的时间到1970年1月1日零点的毫秒值差
document.write(date.getTime());

Math对象

Math对象不用创建直接使用

Math.PI
// 产生(0,1]之间的随机数
Math.random()

正则表达式对象

两种创建方式,其中第二种是比较常用的

var reg = new RegExp("^\\w{6,15}$");
var reg2 = /^\w{6,15}$/;
var str = "zhangjinghang";
alert(reg.test(str));
alert(reg2.test(str));

Global对象

编码原理

比如说是按照gbk进行编码的,那么就是一个汉字就是两个字节,16位二进制,转换成十六进制,然后加上百分号就ok,一个字节对应一个百分号

str = "张景航";
var encode = encodeURI(str);
document.write(encode+"<br>");
var s = decodeURI(encode);
document.write(s+"<br>");

parseInt方法 将字符串转换为数字,会从左向右逐个进行判断一直到不是数字为止,将前面的部分转换成为数字。

var n1 = parseInt("123hhh");//123
var n2 = parseInt("hhh123");//NaN
var n3 = parseInt("123");//123

eval方法

str3 = "alert('132')"; // 注意这里内外层不能使用同样的引号
eval(str3);

isNaN方法

var a = NaN;
alert(isNaN(a));// true
alert(a == NaN);// false
发布了369 篇原创文章 · 获赞 74 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_41333844/article/details/103307467