笔记
四年反馈人
这个作者很懒,什么都没留下…
展开
-
关于基础排序算法(JavaScript)
冒泡排序 思想:对数组相邻元素两两比较,如果前一个大于后一个,交换位置,这样数组最后一个数就是最大的数。然后对除最后一个数(也就是排好序的数)重复上述操作,最后数组有序。 数学化 数组长n,就排n-1趟 每i趟比n-i次 优化:当一次循环没有发生冒泡,就停止循环 function bubbleSort(arr) { let len = arr.length; // 外循环为排序趟数,排len-1趟 for (let i = len - 1; i > 0; i--) {原创 2021-09-30 08:43:58 · 106 阅读 · 0 评论 -
关于JavaScript的绑定 this 的方法
this的动态切换,固然为 JavaScript 创造了巨大的灵活性,但也使得编程变得困难和模糊。有时,需要把this固定下来,避免出现意想不到的情况。JavaScript 提供了call、apply、bind这三个方法,来切换/固定this的指向。 Function.prototype.call() 函数实例的call方法,可以指定函数内部this的指向(即函数执行时所在的作用域),然后在所指定的作用域中,调用该函数。 var obj = {}; var f = function () { retu原创 2021-09-30 07:36:11 · 128 阅读 · 0 评论 -
关于JavaScript实例对象和new
典型的面向对象编程语言(比如 C++ 和 Java),都有“类”(class)这个概念。所谓“类”就是对象的模板,对象就是“类”的实例。但是,JavaScript 语言的对象体系,不是基于“类”的,而是基于构造函数(constructor)和原型链(prototype)。 构造函数名字的第一个字母通常大写。 构造函数的特点有两个。 函数体内部使用了this关键字,代表了所要生成的对象实例。 生成对象的时候,必须使用new命令。 new命令执行时,构造函数内部的this,就代表了新生成的实例对象, 使用new原创 2021-09-26 19:49:39 · 161 阅读 · 0 评论 -
关于谷歌浏览器开发者工具
这是英文原版的 下面是中文的 打开开发者工具以后,顶端有多个面板。 Elements:查看网页的 HTML 源码和 CSS 代码。 Console:用来运行 JavaScript 命令。 Sources:查看网页加载的脚本源码。 Network:查看网页的 HTTP 通信情况。 Performance:查看网页的性能情况,比如 CPU 和内存消耗。 下面两个没找见 Resources:查看网页加载的各种资源文件(比如代码文件、字体文件 CSS 文件等),以及在硬盘上创建的各种内容(比如本地缓存、Cook.原创 2021-09-26 16:41:13 · 439 阅读 · 0 评论 -
关于JavaScript布尔值
下列运算符会返回布尔值: 前置逻辑运算符: ! (Not) 相等运算符:=,!,==,!= 比较运算符:>,>=,<,<= 除了下面六个值被转为false,其他值都视为true。 undefined null false 0 NaN ""或’’(空字符串) !!! 注意,空数组([])和空对象({})对应的布尔值,都是true。 if ([]) { console.log('true'); } // true if ({}) { console.log('true'); }原创 2021-09-26 16:28:19 · 39 阅读 · 0 评论 -
关于JavaScript的null和undefined
null表示空值,即该处的值现在为空。调用函数时,某个参数未设置任何值,这时就可以传入null,表示该参数为空。比如,某个函数接受引擎抛出的错误作为参数,如果运行过程中未出错,那么这个参数就会传入null,表示未发生错误。 undefined表示“未定义”,下面是返回undefined的典型场景。 // 变量声明了,但没有赋值 var i; i // undefined // 调用函数时,应该提供的参数没有提供,该参数等于 undefined function f(x) { return x; } f原创 2021-09-26 16:25:32 · 535 阅读 · 0 评论 -
关于JavaScript数据类型
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值) 数值(number):整数和小数(比如1和3.14)。 字符串(string):文本(比如Hello World)。 布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)。 undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值。 null:表示空值,即此处的值为空。 对象(object):各原创 2021-09-26 16:18:19 · 67 阅读 · 0 评论 -
关于JavaScript变量提升(ES6 let const大法好)
JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。 console.log(b); var b = 1; 上面的代码因为hosting(变量提升),真正运行时是 var b; console.log(b); b = 1; 把代码放到控制台去执行 结果都是undefined 也就是变量已经声明了,但是没有赋值还。 null和undefined的区别: // 变原创 2021-09-26 15:50:46 · 59 阅读 · 0 评论 -
关于JavaScript
JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。 JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。 目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Nod原创 2021-09-26 15:39:42 · 70 阅读 · 0 评论 -
关于URL(Uniform Resource Locator 统一资源定位器)
URL 是一个网页地址。 URL可以由字母组成,如"runoob.com",或互联网协议(IP)地址: 192.68.20.50。大多数人进入网站使用网站域名来访问,因为 名字比数字更容易记住。 Web浏览器通过URL从Web服务器请求页面。 scheme://host.domain:port/path/filename 放大点好看 scheme - 协议。最常见的类型是 http https host - 主机(http 的默认主机是 www) domain - 域名,比如 4399.com :po原创 2021-09-26 15:32:59 · 812 阅读 · 0 评论 -
关于网络模型(OSI七层模型和TCP/IP参考模型)的笔记
左 OSI参考模型是国际标准化组织(OSI)提出的网络体系结构模型。 自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 以传输层为界, 上三层统称资源子网,相当于计算机系统,完成数据处理等功能。 下三层统称通信子网,是为了联网而附加的通信设备,完成数据传输功能。 传输层承上启下。 中 TCP/IP模型是 由于得到广泛应用而成为事实的国际标准 的模型 其应用层对应OSI模型的资源子网 网络接口层对应。。。的物理层和数据链路层 网际层对应。。。的网络层 后 为TCP/IP模型各层的主.原创 2021-09-26 15:16:10 · 96 阅读 · 0 评论