JavaScript
文章平均质量分 56
JavaScript
重新来过2026
记录技术学习,分享带来快乐
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【浏览器原生 ESM支持的类型】
浏览器原生 ESM 支持相对路径、绝对路径、完整 URL 及 data: URL,裸模块名需依赖 import map 映射。构建工具(如 Vite/Webpack)则额外支持裸模块直接导入、别名、省略扩展名及目录 index 自动解析,提升开发体验,但牺牲了代码的直接运行能力。核心区别在于:原生 ESM 规则严格,构建工具则通过配置放宽限制,实现更灵活的导入方式。原创 2026-11-07 04:35:44 · 173 阅读 · 0 评论 -
【__proto__ vs prototype 到底啥区别】
prototype 是函数的属性,用于 new 时指定实例的原型;__proto__ 是对象的内部链接,用于属性查找。关键区别:prototype 只有函数有,__proto__ 几乎所有对象都有。new 操作将实例的 __proto__ 指向构造函数的 prototype,二者通过 f.__proto__ === Foo.prototype 关联。函数既是对象(有 __proto__),又有自己的 prototype,两者指向不同。__proto__ 为非标准写法,推荐使用 Object.getProto原创 2026-11-06 03:00:41 · 312 阅读 · 0 评论 -
Gulp快速入门教程
Gulp介绍中文主页: http://www.gulpjs.com.cn/gulp是与grunt功能类似的前端项目构建工具, 也是基于Nodejs的自动任务(task)运行器能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的合并、压缩、检查、监听文件变化、浏览器自动刷新、测试等任务gulp更高效(异步多任务), 更易于使用, 插件高质量安装 nodejs, 查看版本: node -v创建一个简单的应用gulp_test|- di.原创 2020-06-25 01:25:52 · 252 阅读 · 0 评论 -
JS模块化
1. 立即执行函数模块化2. AMD-RequireJS模块化3. CommonJS-Browserify模块化4. ES6模块化原创 2020-06-22 19:29:23 · 167 阅读 · 0 评论 -
立即执行函数模块化
(function (window, $) { //数据 let data = 'I am a module'; //操作数据的函数 function foo() { //用于暴露有函数 console.log(`foo() ${data}`); $('body').css('background', 'red'); } function bar() {//用于暴露有函数 console.log(`bar() ${data}`); otherFun原创 2020-06-22 19:24:30 · 389 阅读 · 0 评论 -
ES6模块化
ES6-Babel-Browserify1. 定义package.json文件json { "name" : "es6-babel-browserify", "version" : "1.0.0" }2. 安装babel-cli, babel-preset-es2015和browserifynpm install babel-cli browserify -gnpm install babel-preset-es2015 --save-dev3. 定义.babelrc文件json { "原创 2020-06-22 19:12:30 · 256 阅读 · 0 评论 -
AMD-RequireJS模块化
require.js使用1. 下载require.js, 并引入官网: http://www.requirejs.cn/github: https://github.com/requirejs/requirejs将require.js导入项目: js/libs/require.js2. 创建项目结构|-js |-libs |-require.js |-modules |-alerter.js |-dataService.js |-main.js|-ind原创 2020-06-22 18:54:14 · 303 阅读 · 0 评论 -
CommonJS-Browserify模块化
Browserify模块化Browserify让你可以使用require('modules')在浏览器端打包模块依赖创建项目结构|-js |-dist |-src |-module1.js |-module2.js |-module3.js |-app.js|-index.html|-package.json { "name": "browserify-demo", "version": "1.0.0" }-dist 打包生成文原创 2020-06-22 18:20:03 · 205 阅读 · 0 评论 -
JavaScript继承
通过Person.call(this, name)实现对象冒充,使子类Ninja继承父类属性;再将Ninja.prototype指向Person实例以继承原型方法,避免原型链断裂。使用Object.defineProperty修复constructor指向,确保继承正确性。最终ninja.say()与feint()正常调用,完整实现基于函数原型的继承。原创 2020-06-08 02:10:18 · 152 阅读 · 0 评论 -
JavaScript函数
函数是JavaScript的一等对象函数是JavaScript的一等对象(first-class object),或者说是一等公民(first-class zitizens)。 // 使用字面量定义一个空对象 let ninja = {}; // 分配属性 ninja.name = "Hanzo"; // 为对象的属性赋值为一个新对象 ninja.data = {}; // 使用字面量定义一个数组 let ninjaArray = [];原创 2020-06-07 01:01:36 · 208 阅读 · 0 评论
分享