8.13.2019

1. 正则表达式常见字符串方法:

search( ) , replace( )

var str = "Visit Website";

var n = str.search(/website /i);

var str = "Visit Microsoft!";

var res = str.replace("Microsoft", " Website ");

2. 如果未尚未声明的变量赋值,该变量会自动变成全局变量。

myFunction();

// 此处的代码能够使用 carName 变量

function myFunction() {

carName = "porsche";

}

3. JavaScript会默认地将所有声明提升到当前作用域顶部。但用let和const声明的变量不会被提升。初始化不会被提升。

4. JavaScript 中this 关键词指的是它所属的对象。它拥有不同的值,具体取决于它的使用位置:

在方法中,this 指的是所有者对象。

单独的情况下,this 指的是全局对象。

在函数中,this 指的是全局对象。

在函数中,严格模式下,this 是 undefined。

在事件中,this 指的是接收事件的元素。

5. 可以使用 let 关键词声明拥有块作用域的变量。在块 {} 内声明的变量无法从块外访问。在相同的作用域,或在相同的块中,通过 let / var重新声明一个 var / let 变量是不允许的。

6. 在字符串中换行需在字符串中使用“\”

var x = "Hello \

World!";

7. JavaScript不会为每个代码块创建新的作用域。

for (var i = 0; i < 10; i++) {

// 代码块

}

return i;

此处i=10 而不是undefined

8.HTML 表单验证能够通过 JavaScript 来完成。

如果某个表单字段(fname)是空的,那么该函数会发出一条警告消息,并返回 false,以防止表单被提交出去。

9. 函数表达式可以作为“自调用”。

自调用表达式是自动被调用(开始)的,在不进行调用的情况下。

假如表达式后面跟着  ( ),函数表达式会自动执行。

(function () {

var x = "Hello!!";      //我 用 我 自 己

})();

10.  JavaScript闭包:实现函数拥有“私有”变量。例:

var add = (function () {

var counter = 0;

return function () {return counter += 1;}

})();

add();

add();

变量 add 的赋值是自调用函数的返回值。

这个自调用函数只运行一次。它设置计数器为零(0),并返回函数表达式。

这样 add 成为了函数。最“精彩的”部分是它能够访问父作用域中的计数器。

计数器被这个匿名函数的作用域保护,并且只能使用 add 函数来修改。

闭包指的是即使在父函数关闭之后也有权访问父作用域的函数。

JavaScript每日学习日记(2)的更多相关文章

  1. JavaScript每日学习日记(1)

    8.11.2019 1. lastIndexOf() 方法从尾到头进行检索. 2. 有三种提取部分字符串的方法: 2.1 slice(start, end)  如果某个参数为负,则从字符串的结尾开始计 ...

  2. JavaScript每日学习日记(0)

    8.10.2019 1.JavaScript能改变HTML内容.属性.样式,能隐藏或显示HTML元素. 2.JavaScript函数可以任意数量被放置在<body>.<head> ...

  3. 前端学习日记之HTML、CSS 简单总结

    前端学习日记之HTML.CSS 简单总结 标签(空格分隔): html css 前端学习日记 html超文本标记语言 一. h标题标签 h1-h7 <!DOCTYPE html> < ...

  4. JavaWeb学习日记----表单提交方式

    1.表单提交方式 (1) 使用input控件中的submit提交 代码如下: <!DOCTYPE html> <html lang="en"> <he ...

  5. 初步总结javascript中学习DOM之前的知识

    嘿嘿,又到了周末时间,周六其实就是总结这周的学习的,记得周二周三刚开始接触javascript时间,还是不知道怎么学习的,就感觉找不到方向,那时间学习的只是总结了一些简单的定义或者是学习结构,今天就把 ...

  6. JavaScript Shell学习分享

    目录 JavaScript Shell学习分享 简介 安装 使用原因 小结 JavaScript Shell学习分享 简介 JavaScript Shell是由Mozilla提供的综合JavaScri ...

  7. C++学习日记:关于我决定开始学习C++的那些事

    苦恼于Python运行时感人的速度,我决定学习C++. 为了激励我自己好好地学习这门未曾谋面的编程语言,我决定在此开设专栏:C++学习日记.希望在读者们的监督下,我可以早日掌握这门语言.当然,如果那位 ...

  8. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  9. android学习日记05--Activity间的跳转Intent实现

    Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

随机推荐

  1. 添砖加瓦:[OpenCV]入门(一)

    1.OpenCV安装 (1)下载: 本文采用的是源码的方式进行安装,源码可以从OpenCV官网下载.这里以3.4.1为例. (2)安装 这里下载到的文件为3.4.1.zip."unzip 3 ...

  2. ArrayList与LinkList对比

    本文简要总结一下java中ArrayList与LinkedList的区别,这在面试中也是常常会问到的一个知识点. 先来看一下ArrayList和LinkedList的关系是怎样的: 从继承体系可以看到 ...

  3. MySQL安装和常用命令

    一.安装MySQL groupadd mysqluseradd -r -g mysql mysqlgroups mysqlfind / -name mysql | xargs rm -rfwget h ...

  4. kettle_errot_karafLifecycleListenter

    使用kettle 6.1 通过命令行批量执行作业的过程中,发现偶尔有作业执行时间会变慢几分钟,查看日志发现改作业开始就报了一个错 报错之后才会继续下面的作业,虽然不影响最终作业执行结果,但也延误了一些 ...

  5. ado.net DataSet

    一.概念 DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合.所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataS ...

  6. springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据

    springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据 表单html: <form class="form-horizontal ...

  7. http协议入门---转载

    http协议入门 ##(一). HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 最早 ...

  8. Angular 从入坑到挖坑 - 表单控件概览

    一.Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验. 对应官方文档地址 ...

  9. 为什么MySQL分库分表后总存储大小变大了?

    1.背景 在完成一个分表项目后,发现分表的数据迁移后,新库所需的存储容量远大于原本两张表的大小.在做了一番查询了解后,完成了优化. 回过头来,需要进一步了解下为什么会出现这样的情况. 与标题的问题的类 ...

  10. centos 7上openJdk 安装

    为什么不安装Oracle版本 oracle jdk 现在下载太恶心了会被登陆拦截.于是就安装openjdk. 步骤 下载 yum -y install java-1.8.0-openjdk java- ...