【JavaWeb】JavaScript(25)

本文深入讲解ECMAScript,包括其历史背景、与HTML的关系、基本语法、数据类型、运算符及特殊语法。此外,还详细介绍了Function、Array、Date、Math和RegExp对象的使用方法。

引言

  • 据开学还有31天;
  • “当年南联盟大使馆被炸时,国内青年哗然,他们白天在街上游行抵制美国,晚上在灯下恶补雅思托福”;

ECMAScript

简介

有 3 种不同的 JavaScript(嵌入式脚本语言) 版本同时存在,分别是JavaSript,JScript,ScriptEase;但是并没有一个标准来统一其语法或特性,为解决这一问题,欧洲计算机制造商协会(ECMA)锤炼出了 ECMA-262,该标准定义了名为 ECMAScript 的全新脚本语言。从此,Web 浏览器就开始将 ECMAScript 作为 JavaScript 实现的基础

与HTML的关系

  • 二者都作用于前端;
  • JavaScript是一种编程语言,与Java是同一类;
  • JavaScrpit是为了让用户能够与页面产生更多的交互;
结合方式
1.在HTML中用script标签包裹
==============
<script>
         var a=10;
         alert(a);
    </script>
2.src=""属性引用.js文件
<script src="T1.js"></script>

基本语法

1.数据类型
5种基本类型

  • number
  • boolean
  • undefind
  • string
  • NaN
    2.变量
    ECMAScript的数据类型是弱类型的,使用时不需要声明类型,一律用 (var)即可;
var a=10;
a="abc";

想要获取数据的类型,用typeof关键字即可;

var a=10;
//    number
document.write(a+"   "+typeof a+"<br>");
//string
a="abc";
document.write(a+"   "+typeof a+"<br>");
//boolean
a=true;
document.write(a+"   "+typeof a+"<br>");
//null
a=null
document.write(a+"   "+typeof a+"<br>");
//NaN
a=NaN
document.write(a+"   "+typeof a+"<br>");

结果:
在这里插入图片描述
3.运算符
运算符与我们之前学的JavaSE中的都一样,就不赘述了;只说一下“===”全等与非全的号的区别;

==”可以自己实现类型转换;
“===”只有在数值与类型都一样的情况下才返回true;
===============
 var sNum = "6";
        var iNum = 6;
        document.write(sNum==iNum);
        //alert(sNum == iNum);	//输出 "true"
        alert(sNum === iNum);//输出  "false"

4.特殊语法

当每行只有一句话时,可以不加“;;
可以不用var,表示全局变量;
============
        var a=10
          alert(a)
          b=100;//全局变量

5.流程控制语句
也与Java等编程语言一致;
6.练习
打印九九乘法表
https://blog.youkuaiyun.com/alpha_xia/article/details/107707277

基本对象

function对象

1.创建方法

var fun1=new function()///不常用
           {
              alert("sa");
          };
function [返回可省略]add([参数类型可省略]a,b)
          {
              alert(a+b);
        }

2.属性

  • .length()返回参数个数;
function add(a,b)
          {
              alert(a+b);
        }
       alert(add.length)
===================
输出值为2,表示两个参数       

3.arguments隐藏对象
在函数代码中,我们使用特殊对象 arguments,无需明确指出参数名,就能访问方法。因为arguments是function的隐藏内置方法;

  function add(a,b) {
        alert(arguments[0]+arguments[1]);
           alert(arguments.length)
        }
        add(1,2);
        //返回值3 ,2
        add(34,5,3,67,78,78,3);
        //返回值39 ,7
Array对象

1.构造方法

new Array();
new Array(size);
new Array(element0, element1, ..., elementn);

2.属性

length	设置或返回数组中元素的数目。

3.对象方法

join()	
把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
push()	
向数组的末尾添加一个或更多元素,并返回新的长度。
Date对象

1.构造方法

 var date=new Date();

2.对象方法

     document.write(date+"<br>");
     document.write(date.toDateString()+"<br>");
     document.write(date.getTime());
Math对象

Math不用创建对象,作为一个工具使用即可;
1.对象方法

      document.write(Math.PI+"<br>");
      //返回Π的值
      document.write(Math.abs(-1)+"<br>");
      //绝对值
      document.write(Math.ceil(3.4)+"<br>");
      //向上取整
      document.write(Math.floor(3.5)+"<br>");
      //向下取整
RexExp对象

正则表达式对象,用于字符串匹配;
1.表达式

[a] [ab]
//表示字符串中只能有a/ab
[a-z]
//表示字符串中只能有小写字母
[a-zA-Z0-9]
//表示字符串中只能有小/大写字母和数字

2.元字符(有特殊含义的字符)

\w	
查找单词字符。
\d	
查找数字。
\f	
查找换页符。
\r	
查找回车符。

3.量词字符


量词	描述
n+	    匹配任何包含至少一个 n 的字符串。
n*	    匹配任何包含零个或多个 n 的字符串。
n?	    匹配任何包含零个或一个 n 的字符串。
?=n	    匹配任何其后紧接指定字符串 n 的字符串。
============
n$    	匹配任何结尾为 n 的字符串。
^n	    匹配任何开头为 n 的字符串。
var reg1=new RegExp("[a-z]");
        var reg2=/^1[a-z]2$/
        //指以1开头,2结尾的字符串,且中间只能有字母
        alert(reg1.test("1asffd2"))
Global对象

Global作为JS的全局对象,不能够直接访问,但其中方法不需要对象就可以直接调用;
1.方法

encodeURI()	把字符串编码为 URIdecodeURI()	解码某个编码的 URI==============
如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。
encodeURIComponent()	把字符串编码为 URI 组件。
decodeURIComponent()	解码一个编码的 URI 组件。
<script>
       var t1="小高";
       var t2=encodeURI(t1);
       alert(t2);
       alert(decodeURI(t2));
    </script>

在这里插入图片描述
在这里插入图片描述

parseInt()	解析一个字符串(直到字符为非int为之)并返回一个整数。
=================
 <script>
        var s1="123";
        var s2=parseInt(s1);
        alert(s2+1);
        //输出124
         var s1="1dd23";
        var s2=parseInt(s1);
        alert(s2+1);
        //输出2
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高冷小伙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值