
js
Lilico_
这个作者很懒,什么都没留下…
展开
-
实现继承的方法
1、原型链继承/*1、原型链继承优点:可以继承父类中的所有方法缺点:父类中所有引用类型会被子类共享 子类实例不能给父类构造函数传参 */function Person(){ this.name = '张三', this.eats = ['米饭'] this.getName = function() { console.log(this.name) }}Person.prototype.get = () => { console.log('Pe原创 2022-05-07 10:21:19 · 235 阅读 · 0 评论 -
立即执行函数写一个简单的插件
;(function(){ let Computer = function(opt) {} Computer.prototype = { plus: function(num1, num2) { return num1 + num2 } } window.Computer = Computer})()let com = new Computer()let result = com.plus(21, 1)console.log(result)原创 2021-09-22 18:00:07 · 206 阅读 · 0 评论 -
构造函数的new
function Person(obj) { this.name = obj.name; this.age = obj.age;}let xiaohong = Person({ name: "小红", age: 13,});console.log(xiaohong); // 输出undefinedfunction Person(obj) { this.name = obj.name; this.age = obj.age; return this;}let原创 2021-09-17 11:07:48 · 201 阅读 · 0 评论 -
var 和 let 的区别
1、let不能重复声明// 浏览器不会报错的写法var a = 1var a = 2// 浏览器会报错的写法let a = 1let a = 22、let声明的变量只能在代码块内使用for(var i = 0; i < 10; i++) {}console.log(i) // 这里可以打印出ifor(let i = 0; i < 10; i++) {}console.log(i) // 这里找不到i3、let不存在变量提升console.log(i) // 这里可原创 2021-03-24 18:02:20 · 113 阅读 · 0 评论 -
JS数组的reduce用法
reduce为数组中的每个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素语法:arr.reduce(callback,[initialValue])reduce接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用reduce的数组1、var arr = ['吃饭', '睡觉', '打豆豆', '学习']const result = arr.reduce((prev, cur, index, arr)=> { console.log('prev' + p原创 2020-08-04 11:18:24 · 234 阅读 · 0 评论 -
生成0-99之间的随机数数组,每个随机数只能出现一次,并使用冒泡排序按照从小到大进行排序
let nums: number[] = []while (nums.length < 100) { let integer: number = Math.floor(Math.random() * 100) if (nums.indexOf(integer) === -1) { nums.push(integer) }}console.log(nums)for (let i: number = 0; i < nums.length - 1; i++) { f原创 2020-07-29 14:09:10 · 1940 阅读 · 0 评论 -
类和构造函数
// 创建类的方法// 类名需要大写class Person { // constructor可以接受传递过来的参数,并返回一个实例对象 // 只要new生成实例时,就会调用constructor,如果我们不写这个函数,类也会自动生成这个函数 constructor(name, age) { this.name = name this.age = age } sing () { console.log('1111')原创 2020-06-28 10:50:57 · 1385 阅读 · 0 评论 -
js中this的指向
一、全局函数指向window对象 console.log(this); //window function fn() { console.log(this); //winsow} fn();二、构造函数指向实例对象function Person(name, age) { console.log(this);//指向zs/ls this.name = ...原创 2020-05-05 15:50:24 · 1076 阅读 · 0 评论 -
了解同步和异步
一、了解什么是同步什么是异步同步:代码从上往下执行,如果前面的代码执行得比较慢,后面的代码就一直在等待异步:针对一些比较耗时的异步API,js不会同步执行它们,而是异步,比如定时器以及事件处理函数二、了解执行流程1、 浏览器是多线程2、 js引擎是单线程先执行同步代码,发现异步代码调入新的区域执行,完成后进入回调队列中排队等候,当同步代码执行完成后会再去执行回调队列的代码event ...原创 2020-04-14 22:12:26 · 680 阅读 · 0 评论 -
倒计时的基本函数
function countDown(time) { var nowTime = +new Date(); //返回的是当前时间的总毫米数 var inputTime = +new Date(time); //返回的是用户输入时间的总毫秒数 var times = (inputTime - nowTime) / 1000; //剩余时间总的秒数 va...原创 2020-03-03 14:56:19 · 1339 阅读 · 0 评论 -
获取本地时间的函数
function getTime() { //创建一个日期对象 var date = new Date(); // 根据本地时间返回指定日期的年份 var year = date.getFullYear(); // 根据本地时间,返回一个指定的日期对象的月份,为基于0的值(0表示一年中的第一月) var month = dat...原创 2020-02-26 16:09:22 · 551 阅读 · 0 评论 -
js比较两个数组,将两个数组中不同的元素提取出来
//我们先定义两个数组 var arr1 = [1, 2, 3, 4, 5]; var arr2 = [1, 2, 3, 4, 5, 6]; //定义一个函数 function exist(num, arr1) { for (var j = 0; j < arr1.length; j++) { if (num === arr1[j...原创 2020-02-21 23:13:18 · 8966 阅读 · 3 评论 -
冒泡排序
var arr = [5, 4, 3, 2, 1]; for (var i = 0; i < arr.length - 1; i++) { //外层循环控制一共需要的趟数 for (var j = 0; j < arr.length - i - 1; j++) {//里层循环控制每趟的交换次数 if (arr[j] > arr[j + 1])...原创 2020-02-20 15:42:13 · 128 阅读 · 0 评论