资讯专栏INFORMATION COLUMN

js基础归纳总结1

Jeff / 2786人阅读

摘要:局部变量在函数中声明的变量,会成为函数的局部变量。局部变量的作用域是局部的只能在函数内部访问它们。多带带的情况下,指的是全局对象。在事件中,指的是接收事件的元素。布尔值提供一种布尔数据类型。所有不具有真实值的即为布尔值为零负零空值。

闭包

闭包的优点
1.可以读取函数内部的变量
2.这些变量的值始终保持在内存中
适用场景

作用域

作用域指的是有权访问的变量集合。
在 JavaScript 中有两种作用域类型:

局部作用域

全局作用域

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 引用到任何对象。

call()和apply()

apply()和call()差不多,只不过apply()第二个参数必须传入的是一个数组,而call() 第二个参数可以是任意类型。改变了 this 指向,让新的对象可以执⾏该函数,并能接受参

filter()的作⽤也是⽣成⼀个新数组,在遍历数组的时候将返回值为
true 的元素放⼊新数组,可以利用这个函数删除一些不需要的元素。

session和cookie的区别

cookie:数据存储在浏览器端;cookie有大小限制,以及浏览器在存cookie也有个数限制;cookie存储不太安全,别人可以通过拦截或本地文件得到你的cookie然后进行攻击。

session:数据存储在服务器端;session没有大小限制;session存储较为安全,占用服务器的内存。

token生成过程,如何生成token

token的作用是①防止表单重复提交,当点击一次提交按钮后,再点击就没用了②用来作身份验证

字符串

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 提供一种布尔数据类型。它只接受值truefalse
所有不具有“真实”值的即为 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(修饰符);

调试

vue

https://www.jianshu.com/p/2d3...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109779.html

相关文章

  • JavaScript知识架构学习路径(一)- 变量篇

    摘要:在此,我们首先根据变量的作用域,将变量划分为三级,具体是全局变量局部变量和参数变量。 【摘要】本文是专为JavaScript入门者而总结的,总体上将JavaScript的基础部分分成了九大块,分别是变量、运算符、数组、流程控制结构、字符串函数、函数基础、DOM操作基础、文档对象模型DOM和正则表达式。 【关键字】变量、运算符、数组、流程控制结构、函数、DOM、正则表达式。 本篇文章的主...

    toddmark 评论0 收藏0
  • 前端知识归纳

    摘要:继承性子标签会继承父标签样式优先级行内样式选择器类选择器标签选择器通配符继承机制创建了的元素中,在垂直方向上的会发生重叠。 技能考察: 一、关于Html 1、html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 a、理解:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时 让浏览器的爬虫和...

    sixleaves 评论0 收藏0
  • 前端知识归纳

    摘要:继承性子标签会继承父标签样式优先级行内样式选择器类选择器标签选择器通配符继承机制创建了的元素中,在垂直方向上的会发生重叠。 技能考察: 一、关于Html 1、html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 a、理解:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时 让浏览器的爬虫和...

    NotFound 评论0 收藏0
  • 前端知识归纳

    摘要:继承性子标签会继承父标签样式优先级行内样式选择器类选择器标签选择器通配符继承机制创建了的元素中,在垂直方向上的会发生重叠。 技能考察: 一、关于Html 1、html语义化标签的理解; 结构化的理解; 能否写出简洁的html结构; SEO优化 a、理解:根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时 让浏览器的爬虫和...

    魏宪会 评论0 收藏0

发表评论

0条评论

Jeff

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<