Đọc thêm:
public Method (y)
Copy // Global module
var myModule = (function ( jQ, _ ) {
function privateMethod1(){
jQ(".container").html("test");
}
function privateMethod2(){
console.log( _.min([10, 5, 100, 2, 1000]) );
}
return{
publicMethod: function(){
privateMethod1();
}
};
// Pull in jQuery and Underscore
})( jQuery, _ );
myModule.publicMethod();
C:\xampp\htdocs\webpack-demo\src\index.js
Copy class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
var myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML = myCar.name + " " + myCar.year;
C:\xampp\htdocs\webpack-demo\index.html
Copy <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="demo">Demo</div>
<script src="dist/main.js"></script>
</body>
</html>
C:\xampp\htdocs\webpack-demo\package.json
Copy {
"name": "webpack-demo",
"version": "1.0.0",
"description": "",
"private": true,
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --mode production"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^5.17.0",
"webpack-cli": "^4.4.0"
},
"dependencies": {
"babel-preset-es2015": "^6.24.1",
"lodash": "^4.17.20"
}
}
C:\xampp\htdocs\webpack-demo\dist\main.js
Với Es5
Copy const path = require('path');
module.exports = {
entry: './src/index.js',
target: ['web', 'es5'],
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist')
}
};
Copy ! function() {
var e = new class {
constructor(e, n) {
this.name = e, this.year = n
}
}("Ford", 2014);
document.getElementById("demo").innerHTML = e.name + " " + e.year
}();
Với Es6
Copy const path = require('path');
module.exports = {
entry: './src/index.js',
target: ['web', 'es6'],
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist')
}
};
Copy (() => {
var e = new class {
constructor(e, n) {
this.name = e, this.year = n
}
}("Ford", 2014);
document.getElementById("demo").innerHTML = e.name + " " + e.year
})();
Xem lại cách viết này đều là giống nhau chi tiết đọc
https://app.gitbook.com/@javascriptuse/s/advanced/what-does-function-in-javascript-mean-ok
Copy ! function(){}() && (() => {})()