JavaScript 知识点学习笔记

发布于 2022-12-12 13:14:30 字数 2590 浏览 67 评论 0

JS 循坏调用

requestAnimationFrame(function(){}); // 根据电脑配置自动设置循环间隔
setTimeout(function(){}, time); // time 秒后调用
setInterval(function(){},time); // 先调用,time 秒后再次调用

requestAnimationFrame 简单封装

window.requestAnimFrame = (function() {
  return window.requestAnimationFrame || window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||
window.msRequestAnimationFrame || function( /* function FrameRequestCallback */ callback, /* DOMElement Element */ element) { return window.setTimeout(callback, 1000 / 60); }; })();

闭包

var add = (function () {
    var counter = 0;
    return function () {return counter += 1;}
})();
//最外层右()是对左()内的行数进行调用,返回一个闭包函数

JS 原型 proto 与 prototype

所有构造器/函数的 proto 都指向 Function.prototype,它是一个空函数(Empty function)

所有对象的 proto 都指向其构造器的 prototype

function Person() {}                                              // 定义Person类的构造函数
console.log(Object.prototype);                                    // Output:Obejct{}
console.log(Function.prototype);                                  // Output:Function()
console.log(Person.prototype);                                    // Output:Person{}
console.log(Object.prototype.__proto__ === null);                 // Output:true
console.log(Function.prototype.__proto__ === Object.prototype);   // Output:true
console.log(Function.__proto__ === Function.prototype);           // Output:true
console.log(Person.prototype.__proto__ === Object.prototype);     // Output:true
console.log(Person.__proto__ === Function.prototype);             // Output:true
Object.prototype.__proto__ === null                               // Object类Object.prototype为根对象,前向链指针__proto__ === null
// built-in内嵌类
Function.prototype.__proto__ === Object.prototype;                // 函数类Function.prototype继承Object类Object.prototype 
Function.__proto__ === Function.prototype                         // Function函数构造函数为函数类对象
// 自定义类    
Person.prototype.__proto__ === Object.prototype                   // Person类Person.prototype继承Object类Object.prototype
Person.__proto__ === Function.prototype                           // Person构造函数为函数类对象   

获取变量类型

const t = "test varible type";      
typeof(t); // stirng

随机数和取整

Math.random();   结果为0-1间的一个随机数(包括0,不包括1) 
Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。 
Math.round(num); 参数num为一个数值,函数结果为num四舍五入后的整数。
Math.ceil(num);  返回大于等于num的最小整数。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
26 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文