بهترین ها همه در یک جا
let به صورت block scope است یعنی فقط توی همون بلاکی که توش هست مقدارش معتبر هست و var به صورت function scope یعنی به صورت سراسری در کل برنامه مقدارش قابل دسترسی یا تغییر است.
this به object فعلی اشاره میکند . object ای که روی آن قرار گرفته.
var yourObject = {
name : "Hossein" ,
family : "Arbatan" ,
functionwithTHIS(){
console.log(this.name + " " + this.family)
}
}
yourObject.functionwithTHIS();درحالتی مثل زیر this چون درون خود object فراخوانی شده نه بیرون از آن (روی object پس از . فراخوانی نشده) This در واقع windows که بالاترین شی است را برمیگرداند.
var yourObject = {
name : "hossein" ,
family : "Arbatan" ,
myFunc() {
function myFunction() {
console.log(this)
}
myFumction();
}
}
yourObject.myFunc();var yourObject = {
name : "hossein" ,
family : "Arbatan" ,
myFunc() {
let myFumction = ()=> console.log(this);
myFumction();
}
}
yourObject.myFunc(); از این طریق thisهای درون یک function به آن object اشاره خواهند کرد . فرض کنید myObject هم Object ای است که دارای name و family است.
function myFunc(){
console.log(this.name + " " + this.family);
}
myFunc.call(myObject );function testEvent(){
console.log("hi");
}
document.getElementById("myBtn").addEventListener("click" , testEvent())document.addEventListener("click", function(){ alert("Hello World!"); }); document.addEventListener("click" ,()=> console.log("hello"))let myNumbers = [10 , 20 , 30];
myNumbers.map(function(x){
return x*10;
});myNumbers.map( x => x*10 );
[100, 200, 300]
var name = "arbatan" console.log(`hello dear ${name}`)
برای redirect کردن در JS از کد زیر استفاده میشود . برای اینکه بعد
از یک زمان معینی این عمل انجام شود آن را درون setTimeout میگذاریم.
setTimeout(function () { window.location.href = "http://khoobchi.com"; }, 5000)const javaScriptRelease = Date.parse('04 Dec 1995 00:12:00 GMT');
console.log(new Date());
// Expected output: Like Sun Sep 17 2023 11:57:31 GMT+0330 (Iran Standard Time)
console.log(javaScriptRelease)
// Expected output: 818035920000
console.log(
new Date(javaScriptRelease));
// Expected output: Mon Dec 04 1995 03:42:00 GMT+0330 (Iran Standard Time)
if(new Date() > javaScriptRelease){
console.log("ok")
}
// Expected output: "ok"
<a href="javascript: void(0)">I am a useless link</a>