8、第九周 - WEB开发基础 - JavaScript函数及序列化、转义

JavaScript的函数:大体会分为是三个,普通函数、匿名函数、自执行函数(创建函数并且自动执行)。

1、JavaScrip中常用语句复习

A、循环语句

for语句:

第一种:for (var item in [11,22,33]) {
  console.log(item);
  continue;
}
第二种:
var arra = [11,22,33]
for (var i=0;i<arra.lenght;i=i+1){
     console.log(i)
}

while语句:

while (判断条件){
  执行代码
} 

B、条件语句

if(判断条件){
}else if(判断条件){
}else if(判断条件){
}esle {
}

C、switch  case 语句

switch(变量){
case 变量值1:
    //;
    break;
case 变量值2:
    //...;
    break;
  ...
case default:
    //...;
    break;
}
如:
name = 3
switch (name){
    case ‘1‘:
        age = 123;
        break;
    case ‘2‘:
        age  = 456;
        break;
    default:
        age = 7;
    }

备注:swtich()变量类型只能是int、short、char、byte和enum类型;

  switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断。
  注意的是case后面只能是常量,可以是运算表达式,但一定要符合正确的类型。不能是变量,即便变量在之前进行了赋值,JVM依然会报错。

2、JavaScript的函数定义

A、普通函数:

function fun() {
	var chen = "chen1203"   //执行主体
}

B、匿名函数:

function fun(arg) {
    return arg+1
    }
setInterval("fun()",5000);  // 定时器
setInterval(function () {
    console.log(123);
    })

C、自执行函数(创建函数并且自动及执行)

<script>
     function fun(arg) {
        console.log(arg);
       }
     (function(arg) {
        console.log(arg)
        })(1)
</script>

3、JavaScript的序列化及转义

1、序列化

  • JSON.stringify(obj)   序列化
  • JSON.parse(str)        反序列化

2、转义

  • decodeURI( )                   URl中未转义的字符
  • decodeURIComponent( )   URI组件中的未转义字符
  • encodeURI( )                   URI中的转义字符
  • encodeURIComponent( )   转义URI组件中的字符
  • escape( )                         对字符串转义
  • unescape( )                     给转义字符串解码
  • URIError                         由URl的编码和解码方法抛出

3、eval

JavaScript中的eval是Python中eval和exec的合集,既可以编译代码也可以获取返回值。

  • eval()
  • EvalError   执行字符串中的JavaScript代码

4、正则表达式

1、定义正则表达式

  • /.../  用于定义正则表达式
  • /.../g 表示全局匹配
  • /.../i 表示不区分大小写
  • /.../m 表示多行匹配
  • JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容)
var pattern = /^Java\w*/gm;
var text = "JavaScript is more fun than \nJavaEE or JavaBeans!";
result = pattern.exec(text)
result = pattern.exec(text)
result = pattern.exec(text)

注:定义正则表达式也可以  reg= new RegExp()

2、匹配

JavaScript中支持正则表达式,其主要提供了两个功能:

  • test(string)     检查字符串中是否和正则匹配
n = ‘uui99sdf‘
reg = /\d+/
reg.test(n)  ---> true

# 只要正则在字符串中存在就匹配,如果想要开头和结尾匹配的话,就需要在正则前后加 ^和$
  • exec(string)    获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。
获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。

非全局模式
    获取匹配结果数组,注意:第一个元素是第一个匹配的结果,后面元素是正则子匹配(正则内容分组匹配)
    var pattern = /\bJava\w*\b/;
    var text = "JavaScript is more fun than Java or JavaBeans!";
    result = pattern.exec(text)

    var pattern = /\b(Java)\w*\b/;
    var text = "JavaScript is more fun than Java or JavaBeans!";
    result = pattern.exec(text)

全局模式
    需要反复调用exec方法,来一个一个获取结果,直到匹配获取结果为null表示获取完毕
    var pattern = /\bJava\w*\b/g;
    var text = "JavaScript is more fun than Java or JavaBeans!";
    result = pattern.exec(text)

    var pattern = /\b(Java)\w*\b/g;
    var text = "JavaScript is more fun than Java or JavaBeans!";
    result = pattern.exec(text)

3、字符串中相关方法

obj.search(regexp)                   获取索引位置,搜索整个字符串,返回匹配成功的第一个位置(g模式无效)
obj.match(regexp)                    获取匹配内容,搜索整个字符串,获取找到第一个匹配内容,如果正则是g模式找到全部
obj.replace(regexp, replacement)     替换匹配替换,正则中有g则替换所有,否则只替换第一个匹配项,
                                        $数字:匹配的第n个组内容;
                                          $&:当前匹配的内容;
                                          $`:位于匹配子串左侧的文本;
                                          $‘:位于匹配子串右侧的文本
                                          $$:直接量$符号

原文地址:https://www.cnblogs.com/chen170615/p/9698857.html

时间: 2024-10-08 11:47:27

8、第九周 - WEB开发基础 - JavaScript函数及序列化、转义的相关文章

9、第九周 - WEB开发基础 - Document文本、样式、事件操作

docmount的操作是JavaScript中,比较重要一个知识点. 一.docmount 文本内容操作 docmount 的标签查找,分为:间接查找.直接查找. 两者的区别: 直接查找: 前面的章节中,已讲过(通过ID.class样式进行查找) 间接查找: 文件内容操作: innerText 修改网页的信息为文本内容(全网页修改) innerHTML 设定超链接(全网页修改) values input value 获取当前标签中的值 select 获取选中的value值(selectedInd

浏览器---WEB开发基础之三

通过HTTP协议的介绍,打开网页必须建立TCP连接,然后通过HTTP协议进行交互,因此,浏览器访问网址,第一件事就是建立TCP连接,但是TCP连接是基于IP的,而我们输入的却是网址,所以,实际上第一件事,应该是通过DNS去查找网址(也就是域名)对应的主机的IP,然后才是三次握手建立TCP连接(此处知识详见<计算机网络基础>),然后浏览器向服务器发送: GET HTTP://www.baidu.com HTTP/1.1  Accept: application/x-ms-application,

web开发基础--字节序

1.有效位 在谈字节序前需要先了解有效位,有效位分为两种:最低有效位(LSB: Least Significant Bit) 和最高有效位(MSB:Most Significant Bit).在二进制数中,LSB是最低加权位,与十进制数字中最右边的一位类似:MSB是最高加权位,与十进制数字中最左边的一位类似.通常,MSB位于二进制数的最左侧,LSB位于二进制数的最右侧.以一个十进制的数12345678为例,最高有效位就是1,最低有效位就是8. 2.字节序: 字节序,顾名思义字节的顺序,就是大于一

Web开发技术&mdash;&mdash;Javascript基础

什么是JavaScript JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. Javascript主要用来修改HTML和CSS,使网页产生动态的效果 如何使用Javascript HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 <body> 和 <head> 部

Web开发技术&mdash;&mdash;JavaScript语法3(函数、运算符、比较和逻辑运算符)

JavaScript 函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. 实例 <!DOCTYPE html> <html> <head> <script>function myFunction() { alert("Hello World!"); }</script> </head> <body> <button onclick="myFunction()"&

PHP 系列:PHP Web 开发基础

PHP是动态类型的Web开发的脚本语言,PHP以页面文件作为加载和运行的单元,PHP现在有了Composer作为开发包管理. 1.使用Composer管理依赖 自从.NET开发用了Nuget管理程序集依赖,我就再也离不开它了,幸亏Java中也有Maven管理jar包,虽然开源中国的镜像太慢但还有ibiblio的镜像可用,PHP现在终于有了Composer(参考1)用来管理资源包. (1)全局安装(参考2) 在指定安装目录中执行命令行: php -r "readfile('https://getc

第十五章:Python の Web开发基础(二)

本課主題 JavaScript 介绍 DOM 介绍 jQuery 介绍 JavaScript 介绍 JavaScript 是一门编程语言,它可以让网页动起来的,JavaScript 的变量有两种,一个是局部变量:一个是全区变量.怎么分啦? a = 123; // 全区变量 var a = 123; // 局部变量 JavaScript 的数据类型 JavaScript 的数字类型 parseInt: y = "111" "111" r2 = parseInt(y)

Java Web开发基础(3)-JSTL

在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半.不论什么工具的引入,都会使我们的工作变的简单.可是问题是我们工作能够变的简单,可是我们不能让自己的大脑变的简单.所以,我们不是简单的会用就能够.我们还须要了解这个工具是怎样工作的.怎样为我们提供便利的.ok.以下进入正题,我们从问题開始-- JSP脚本带来的问题 不知道看到这几个子,各位有什么想法?反正我认

12款简化 Web 开发的 JavaScript 开发框架

前端框架简化了开发过程中,像 Bootstrap 和 Foundation 就是前端框架的佼佼者.在这篇文章了,我们编制了一组新鲜的,实用的,可以帮助您建立高质量的 Web 应用程序的 JavaScript 框架清单. 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型 jQuery 图片轮播插件 1.