
js高级
初郁
愿你前程灿烂,愿你得偿所愿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js数组去重
var arr=[1,2,3,4,5,6,2,3,7,8]; var b=fn(arr); console.log(b); 单层for循环去重 +(sort+splice) function fn(arr) { arr.sort(); for (var i=0;i<arr.length;i++){ if (arr[i]===arr[i+1]){ arr.splice(i,1); i--; } }r原创 2021-05-04 22:00:06 · 169 阅读 · 0 评论 -
函数对象与实例对象
函数对象: 将函数作为对象使用时, 简称为函数对象 实例对象: new 函数产生的对象, 简称为对象 function Fn() { // Fn函数 } const fn = new Fn() // Fn是构造函数 fn是实例对象(简称为对象) console.log(Fn.prototype) // Fn是函数对象 Fn.call({}) // Fn是函数对象 $('#test') // jQuery函数 $.get('/test') // jQue原创 2021-03-08 18:55:34 · 231 阅读 · 0 评论 -
回调函数的分类
同步回调: 理解: 立即执行, 完全执行完了才结束, 不会放入回调队列中 例子: 数组遍历相关的回调函数 / Promise的excutor函数 // const arr = [1, 3, 5] arr.forEach(item => { // 遍历回调, 同步回调函数, 不会放入列队, 一上来就要执行完 console.log(item) }) console.log('forEach()之后') 异步回调: 理解: 不会立即执行, 会放入回调队列中将来执行 例子: 定时器回调 / aja原创 2021-03-08 18:54:20 · 177 阅读 · 0 评论 -
js高级-原型与原型链
原型(prototype) 函数的prototype属性 所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法。 每个函数都有一个prototype属性,它默认指向一个0bject空对象(即称为:原型对象) console.log(Date.prototype,typeof Date.prototype); 原型对象中有一个属性constructor,它指向函数对象 console.log(Date.prototype.construc原创 2020-12-06 16:50:12 · 221 阅读 · 0 评论 -
js高级-this
this是什么? 任何函数本质上都是通过某个对象来调用的,如果没有直接指定就是window 所有函数内部都有一个变量this 它的值是调用函数的当前对象 如何确定this的值? test(): window //以函数的形式调用时,this是window c.test(): c //以方法的形式调用时,this就是调用方法的对象 new test():新创建的对象 //以构造函数的形式调用时,this就是新创建的对象 c.call(obj): obj //call()或者apply()通过第一个原创 2020-12-02 20:20:43 · 129 阅读 · 0 评论 -
js高级-函数
什么是函数 实现特定功能的n条语句的封装体。只有函数是可以执行的,其他类型的数据不能执行。 为什么用函数 提高代码复用。便于阅读。 怎样定义函数 函数声明 function fn1() { //函数声明 console.log("fn1()"); } fn1(); 表达式 var fn2 = function () { //表达式 console.log("fn2"); }; fn2(); 如何调用/执行函数 test():直接.原创 2020-12-01 21:33:18 · 139 阅读 · 0 评论 -
js高级-对象
什么是对象 js对象是拥有属性和方法的数据。是多个数据的封装体,用来表示多个数据的容器。一个对象代表现实生活中的一个事物。 为什么要用对象 方便统一管理多个数据。 对象的组成 属性:属性名(本质为字符串)和属性值任意类型()组成 方法:一种特别的属性=>属性值为一个函数 如何访问对象内部数据 .属性名:编码简单,有时不能用 [‘属性名’]:编码复杂,但可通用 var person = { name : 'Tom', age : 12, setNam.原创 2020-12-01 16:24:33 · 110 阅读 · 0 评论 -
js高级-数据,变量,内存
数据,变量,内存三者关系 内存用来存储数据的空间,变量是内存的标识。 问题:关于赋值和内存 — var a = xxx,a内存中到底保存的是什么? xxx是基本数据,保存的就是这个数据 xxx是对象,保存的是对象的地址值 xxx是一个变量,保存的xxx的内存内容(可能是基本数据,也可能是地址值) var a = 3 a=function () {} var b = "abc' a = b b = {} a = b 问题:关于引用变量赋值的问题 n个引用变量指向同一个对象,通过一个变量修改对象内部数据,其.原创 2020-11-30 22:39:10 · 171 阅读 · 0 评论 -
js高级-数据类型
基本数据类型(值类型) 字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol 注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。 引用数据类型(对象类型) 对象(Object)、数组(Array)、函数(Function) object -任意对象 --var obj = {name:‘hx’,age:20} function -可以执行的特殊的对象–function fun() {var a =原创 2020-11-29 14:34:12 · 125 阅读 · 0 评论 -
js变量作用域及作用域链
变量的作用域 一个变量的作用域(scope) 是程序源代码中定义这个变量的区域。 全局变量拥有全局作用域,在JavaScript代码中的任何地方都是有定义的。 局部变量在函数内声明的变量,作用域是局部性的。函数参数也是局部变量,只在函数体内有定义。 在函数体内,局部变量的优先级高于同名的全局变量。 var scope = “global”; //声明一个全局变量 function checkscope() { var scope = "local"; //声明一个同名的局部变量 return scop原创 2020-11-12 19:37:16 · 144 阅读 · 0 评论