摘要:局部变量在函数中声明的变量,会成为函数的局部变量。局部变量的作用域是局部的只能在函数内部访问它们。多带带的情况下,指的是全局对象。在事件中,指的是接收事件的元素。布尔值提供一种布尔数据类型。所有不具有真实值的即为布尔值为零负零空值。
闭包
闭包的优点:
1.可以读取函数内部的变量
2.这些变量的值始终保持在内存中
适用场景
作用域指的是有权访问的变量集合。
在 JavaScript 中有两种作用域类型:
局部作用域
全局作用域
JavaScript 拥有函数作用域:每个函数创建一个新的作用域。
作用域决定了这些变量的可访问性(可见性)。
函数内部定义的变量从函数外部是不可访问的(不可见的)。
在 JavaScript 函数中声明的变量,会成为函数的局部变量。
局部变量的作用域是局部的:只能在函数内部访问它们。
实例
// 此处的代码不能使用 carName 变量 function myFunction() { var carName = "porsche"; // 此处的代码能使用 carName 变量 }全局 JavaScript 变量
函数之外声明的变量,会成为全局变量。
全局变量的作用域是全局的:网页的所有脚本和函数都能够访问它。
实例
var carName = " porsche"; // 此处的代码能够使用 carName 变量 function myFunction() { // 此处的代码也能够使用 carName 变量 }javascript变量提升
变量提升:在 JavaScript 中,可以在使用变量之后对其进行声明。通过 var 声明的变量会提升到顶端.
用 let 或 const 声明的变量和常量不会被提升!
在不同的作用域或块中,通过 let 重新声明变量是允许的
通过 const定义的变量与 let 变量类似,但不能重新赋值。
const 变量必须在声明时赋值。但是可以更改常量对象的属性,也可以更改常量数组的元素,
const PI = 3.14159265359;
如何修改对象的属性:defineProperty.
JSON.parse(JSON.stringify(aaa).replace(/CourseName/g,"title"))
var emptyObj1 = {}; var emptyObj2 = new Object(); var emptyObj2 = Object.create(Object.prototype);this指针
JavaScript this 关键词指的是它所属的对象。
它拥有不同的值,具体取决于它的使用位置:
在方法中,this 指的是所有者对象。
多带带的情况下,this 指的是全局对象。
在函数中,this 指的是全局对象。
在函数中,严格模式下,this 是 undefined。
在事件中,this 指的是接收事件的元素。
像 call() 和 apply() 这样的方法可以将 this 引用到任何对象。
apply()和call()差不多,只不过apply()第二个参数必须传入的是一个数组,而call() 第二个参数可以是任意类型。改变了 this 指向,让新的对象可以执⾏该函数,并能接受参
数
filter()的作⽤也是⽣成⼀个新数组,在遍历数组的时候将返回值为
true 的元素放⼊新数组,可以利用这个函数删除一些不需要的元素。
cookie:数据存储在浏览器端;cookie有大小限制,以及浏览器在存cookie也有个数限制;cookie存储不太安全,别人可以通过拦截或本地文件得到你的cookie然后进行攻击。
session:数据存储在服务器端;session没有大小限制;session存储较为安全,占用服务器的内存。
token生成过程,如何生成tokentoken的作用是①防止表单重复提交,当点击一次提交按钮后,再点击就没用了②用来作身份验证
字符串indexOf() 方法返回字符串中指定文本首次出现的索引(位置)
slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。
该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
replace() 方法用另一个值替换在字符串中指定的值
concat() 连接两个或多个字符串
trim() 方法删除字符串两端的空白符
split() 方法将字符串转换为数组
indexOf() 方法在数组中搜索元素值并返回其位置
var colors=["yellow","red","blue","black"]; var a=colors.indexOf("yellow");
lastIndexOf() 与 Array.indexOf() 类似,但是从数组结尾开始搜索。
布尔值JavaScript 提供一种布尔数据类型。它只接受值true或false。
所有不具有“真实”值的即为 False
布尔值为false:0(零)、-0 (负零)、""(空值)、undefined 、null 、NaN 。
constructor属性返回所有 JavaScript 变量的构造器函数。
"Bill".constructor // 返回 "function String() { [native code] }" (3.14).constructor // 返回 "function Number() { [native code] }" false.constructor // 返回 "function Boolean() { [native code] }" [1,2,3,4].constructor // 返回 "function Array() { [native code] }" {name:"Bill", age:62}.constructor // 返回" function Object() { [native code] }" new Date().constructor // 返回 "function Date() { [native code] }" function () {}.constructor // 返回 "function Function(){ [native code] }"
可以通过检查 constructor 属性来确定某个对象是否为数组(包含单词 "Array"):
例如:
function isArray(myArr){
return myArr.constructor.toString().indexOf("Array")
}
正则表达式是构成搜索模式(search pattern)的字符序列。当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。
语法
/pattern(模式)/modifiers(修饰符);
https://www.jianshu.com/p/2d3...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/109779.html
摘要:在此,我们首先根据变量的作用域,将变量划分为三级,具体是全局变量局部变量和参数变量。 【摘要】本文是专为JavaScript入门者而总结的,总体上将JavaScript的基础部分分成了九大块,分别是变量、运算符、数组、流程控制结构、字符串函数、函数基础、DOM操作基础、文档对象模型DOM和正则表达式。 【关键字】变量、运算符、数组、流程控制结构、函数、DOM、正则表达式。 本篇文章的主...
阅读 573·2023-04-26 02:08
阅读 2599·2021-11-18 10:02
阅读 3390·2021-11-11 16:55
阅读 2294·2021-08-17 10:13
阅读 2852·2019-08-30 15:53
阅读 627·2019-08-30 15:44
阅读 2482·2019-08-30 11:10
阅读 1699·2019-08-29 16:57