- 博客(10)
- 收藏
- 关注
原创 js数据类型、null、undefined
基本数据类型:Number,String,Boolean,null,undefined,symbol,bigint(后两个为ES6新增)引用数据类型:object:普通对象,函数对象、数组对象,正则对象,日期对象,Math数学函数对象等。两种数据存储方式:基本数据类型是直接存储在栈中的简单数据段,占据空间小、大小固定,属于被频繁使用的数据。栈是存储基本类型值和执行代码的空间,它们是直接按值存放的,所以可以直接按值访问。引用数据类型是存储在堆内存中,占据空间大、大小不固定。引用数据类型
2022-05-06 21:58:17 651
原创 JavaScript知识点
构造函数是什么?构造函数与普通函数在编码上没有区别,只要可以通过 new 来调用的就是构造函数。箭头函数不可以作为构造函数。new 是一个语法糖,对执行的原理一步步拆分并自己写一个模拟 new 的函数:当我们对一个构造函数执行new操作的时候,究竟干了什么?1、创建一个新对象。2、让这个新的对象的原型指向该构造函数的原型对象。3、执行构造函数,并且将构造函数指向新的对象。4、拿到构造函数最后返回的结果,判断是否是对象或者函数,如果是的话,则直接返回。如果不是则返回新创建的对象。手
2022-05-05 21:52:25 144 3
原创 前端基础-原型及其作用
关于prototype和__proto__每个函数都有一个prototype,即显式原型,它默认指向一个空对象,原型对象中有一个属性constructor,它指向函数对象;每个实例对象都有一个proto,即隐式原型,它指向函数的prototype。function Person(name){ this.name=name; }var student=new Person("xiaopeng");console.log(student.__proto__===Person.protot
2022-05-05 21:27:43 959
原创 闭包、typeof、手写instanceof、===
typeoftypeof 返回一个表示数据类型的字符串,返回结果包括:number、boolean、string、object、undefined、function等6种数据类型。注意typeof(null)返回的是object。如果是判断一个基本的类型用typeof就是可以的。typeof 可以对JS基础数据类型做出准确的判断,而对于引用类型返回的基本上都是object, 其实返回object也没有错,因为所有对象的原型链最终都指向了Object,Object是所有对象的祖宗。instanceof
2022-05-05 21:27:19 127
原创 手写浅拷贝和深拷贝
浅拷贝: 将原对象或原数组的引用直接赋给新对象,新数组和新对象只是原对象的一个引用,他们指向的是内存中的同一区域,修改一个对象就是同时修改两个对象。深拷贝: 创建一个新的对象或数组,将原对象的所有内容都拷贝过来,相当于重新开辟了一个内存空间,不共享内存,修改新对象不会影响旧对象。赋值就是最简单的浅拷贝,对于引用类型的数据来说,赋值赋的就是对象在栈中的地址,也就是引用。可以复制一层的浅拷贝代码如下,它会创建一个新的对象,对于基本类型的数据,拷贝的是基本类型的值,如果是引用类型的数据,拷贝的就是栈中
2022-05-05 20:42:36 334
原创 分数拆分(C++)
描述:现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y.输入:第一行输入一个整数n,代表有n组测试数据。接下来n行每行输入一个正整数k输出:按顺序输出对应每行的k找到所有满足条件1/k=1/x+1/y的组合样例输入:22 12样例输出:1/2=1/6+1/31/2=1/4+1/41/12=1/156+1/131/1...
2018-10-27 20:40:58 2092 2
原创 Bezier曲线生成【计算机图形学】
原理:Bezier曲线是通过一组多边形折线的顶点来定义的。如果折线的顶点固定不变,则由其定义的Bezier曲线是唯一的。在折线的各顶点中,只有第一点和最后一点在曲线上且作为曲线的起始处和终止处,其他的点用于控制曲线的形状及阶次。曲线的形状趋向于多边形折线的形状,要修改曲线,只要修改折线的各顶点就可以了。因此,多边形折线又称Bezier曲线的控制多边形,其顶点称为控制点。三次多项式,有四个控...
2018-10-22 18:25:21 4595
原创 直线裁剪算法【计算机图形学】
(1) 理解直线裁剪的原理(Cohen-Surtherland算法)(2) 利用VC+OpenGL实现直线的编码裁剪算法,在屏幕上用一个封闭矩形裁剪任意一条直线。(3) 调试、编译、修改程序。 实验原理: 编码裁剪算法的主要思想是:对于每条线段,分为三种情况处理。(1)若线段完全在窗口之内,则显示该线段,称为“取”;(2)若线段明显在窗口...
2018-10-15 19:42:37 5075
原创 C++大数相加
大数相加要实现两个超大数相加不能使用以往的简单的a+b来做,因为这个数已经超过了计算机的整型表示范围,所以我们用两个字符数组来存储这两个数,然后定义两个整型数组,将字符整组转化成整型数组,从后依次相加后输出。
2017-09-09 18:23:20 388
原创 C++学生成绩管理系统
#include<iostream> #include<iomanip> #include<cstring> using namespace std; class student{ long long int num; char name[20]; char class1[20]; double chin...
2017-08-01 20:49:03 1220
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人