- 博客(20)
- 收藏
- 关注
原创 JavaScript学习笔记(十)函数表达式
函数表达式定义函数的方式有两种:一种是 函数声明,另一种就是 函数表达式。函数声明的语法是这样的。function functionName(arg0, arg1, arg2) { //函数体} 首先是 function 关键字,然后是函数的名字,这就是指定函数名的方式。Firefox、Safari、Chrome和 Opera 都给函数定义了一个非标准的 name 属性,通过这个属...
2019-03-18 14:44:34 207
原创 JavaScript学习笔记(九)面向对象的程序设计
面向对象的程序设计ECMAScript 中没有类的概念,它的对象与基于类的语言中的对象有所不同。ECMA-262 把对象定义为:“无序属性的集合其属性可以包含基本值、对象或者函数。”我们可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。每个对象都是基于一个引用类型创建的,这个引用类型可以是原生类型,也可以是开发人员定义的类型。理解对象属性类型...
2019-03-17 21:30:24 316
原创 剑指Offer【牛客网】刷题(八)
36、两个链表的第一个公共结点题目描述:输入两个链表,找出它们的第一个公共结点。解题思路:遍历两个链表,找到值相同的结点,验证是否是公共结点(公共结点的含义是这两个结点后继结点也都指向同样的结点),有公共结点的两条链表的拓扑结构应该类似Y而不是X/*public class ListNode { int val; ListNode next = null; Lis...
2019-03-17 16:23:22 175
原创 JavaScript学习笔记(八)引用类型
引用类型的值(对象)是引用类型的一个实例。在 ECMAScript 中,引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称为类,但这种称呼并不妥当。(它不具备传统的面向对象语言所支持的类和接口等基本结构)引用类型有时候也被称为 对象定义 ,因为它们描述的是一类对象所具有的属性和方法。对象是某个特定引用类型的 实例 。新对象是使用 new 操作符后跟一个构造函数来创建的。构造函数本身...
2019-03-16 15:57:35 339
原创 JavaScript学习笔记(七)垃圾收集
垃圾收集JavaScript 具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。垃圾收集机制的原理:找出那些不再继续使用的变量,然后释放其占用的内存。为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间),周期性地执行这一操作。局部变量只在函数执行的过程中存在。而在这个过程中,会为局部变量在栈(或堆)内存上分配相应的空间,以便存储它们的值。然后在函数中...
2019-03-14 20:32:13 123
原创 剑指Offer【牛客网】刷题(七)
31、整数中1出现的次数题目描述:求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。解题思路:把每个数转化成string,数其中1的个数...
2019-03-14 18:57:57 124
原创 JavaScript学习笔记(六)执行环境及作用域
执行环境及作用域执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每个执行环境都有一个与之关联的 变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象中。(虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它。)全局执行环境是最外围的一个执行环境。根据 ECMAScript 实现所在的宿主环境不同,表示执行环境的对象也不一样。...
2019-03-14 15:24:11 89
原创 JavaScript学习笔记(五)变量
变量JavaScript 变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名字而已。由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变。基本类型和引用类型的值ECMAScript 变量可能包含两种不同数据类型的值:基本类型值 和 引用类型值 。基本类型值指的是简单的数据段,而引用类型值指那些可能由多个值构成的对象。在将一个值赋...
2019-03-14 14:36:01 124
原创 JavaScript学习笔记(四)函数
函数ECMAScript中的函数使用 function 关键字来声明,后跟一组参数以及函数体。ECMAScript 中的函数在定义时 不必 指定是否返回值。实际上,任何函数在任何时候都可以通过return 语句后跟要返回的值来实现返回值。function sum(num1, num2) { return num1 + num2; } 严格模式对函数有一些限制:不能把函数命名为 ...
2019-03-14 00:08:02 93
原创 JavaScript学习笔记(三)语句
语句do-while语句在对条件表达式求值之前,循环体内的代码至少会被执行一次。for语句由于ECMAScript中不存在块级作用域,因此在循环内部的变量也可以在外部访问到。var count = 10; for (var i = 0; i < count; i++){ alert(i); } alert(i); //10 for-in语句for-in 语句是一种精...
2019-03-13 22:58:47 118
原创 JavaScript学习笔记(二)操作符
操作符JavaScript的操作符适用很多值,如:字符串、数字值、布尔值甚至对象。不过在应用于对象时,相应的操作符通常都会调用对象的valueOf() 或toString()方法,以便取到可以操作的值一元操作符+ / -对非数值应用一元操作符 +/- 时,该操作符会像 Number()转型函数 一样对这个值进行转换位操作符~:按位非(NOT)&:按位与(AND)|:按位或(...
2019-03-12 15:44:02 129
原创 JavaScript学习笔记(一)数据类型
1、数据类型JavaScript的数据类型包括:NumberStringBooleanObjectFunction
2019-03-12 13:22:18 91
原创 【TypeScript学习初步】二、类型声明
文章目录var声明let声明重定义及屏蔽块级作用域变量的获取const声明解构解构数组对象解构函数声明var声明var的作用域是函数作用域,(类似全局变量),不建议使用let声明let的作用域是块级作用域(块级作用域变量在包含它们的块或者for循环之外是不能访问的)块级作用域变量的另一个特点是:它们不能在被声明之前读或写(虽然这些变量始终“存在”于它们的作用域里,但直到声明它的代码之前的...
2019-03-11 19:14:29 422
原创 剑指Offer【牛客网】刷题(六)
26、二叉搜索树与双向链表题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路:用一个ArrayList存放树中所有节点,然后对ArrayList进行排序,最后遍历一遍ArrayList加上指向左右的指针/**public class TreeNode { int val = 0; TreeNo...
2019-03-10 15:42:29 89
原创 剑指Offer【牛客网】刷题(五)
21、栈的压入、弹出序列题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解题思路:先找到当前pop序列第一个数对应push序列数的下...
2019-03-09 12:18:53 97
原创 剑指Offer【牛客网】刷题(四)
16、合并两个排序的链表题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路:先确定哪一个表头最小,以这个最小的链表为标准,一一进行比较,注意list1和list2为空的情况/*public class ListNode { int val; ListNode next = null; ListNode(i...
2019-03-06 23:05:53 110
原创 剑指Offer【牛客网】刷题(三)
11、二进制中1的个数题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解题思路:直接调用API或者用除以2进行右移,遇1则减1,1的个数+1,负数要考虑int32位前面的符号位全都是1// 直接调用APIpublic class Solution { public int NumberOf1(int n) { int count = 0;...
2019-03-05 14:48:57 107
原创 剑指Offer【牛客网】刷题(二)
6、旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。解题思路:循环比较相邻两个元素的大小直至a[i+1] < a[i]即可impor...
2019-03-04 20:08:37 96
原创 剑指Offer【牛客网】刷题(一)
1、二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:数组是有序的,一开始没看到每一列都递增,后来也懒得改了,时间复杂度有点高易错点:考虑极端情况,如给的数组是空,长度为0 public boolean Find(int tar...
2019-03-04 15:40:54 324
原创 【TypeScript学习初步】一、基础类型
TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了了枚举类1、布尔值-boolean最基本的数据类型:true/false值let isDone: boolean = false;
2019-01-27 20:38:21 182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人