ای سی ایم اسکریپت ایکمین عملگر
- ਪਿਛਲਾ ਪੰਨਾ ای سی ایم اسکریپت مرتبط نوع
- ਅਗਲਾ ਪੰਨਾ ਸਥਾਨਕ ਆਪਰੇਟਰ
ਏਕ ਪਾਰਮੀਟਰ ਵਾਲਾ ਏਕਾਂਕਿਕ ਆਪਰੇਟਰ, ਜਿਵੇਂ ਕਿ ਅਪਰੇਟਰ ਜਾਂ ਕੀਮਤ ਜੋ ਨਾਲ ਕੰਮ ਕਰਨਾ ਹੈ। ਇਹ ECMAScript ਵਿੱਚ ਸਭ ਤੋਂ ਸਰਲ ਆਪਰੇਟਰ ਹਨ。
delete
delete ਆਪਰੇਟਰ ਪਹਿਲਾਂ ਮਿਲਿਆ ਹੋਏ ਆਬਜੈਕਟ ਦੇ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜਾਂ ਕਿਸਮਾਂ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ. ਉਦਾਹਰਣ ਵਜੋਂ:
var o = new Object; o.name = "David"; alert(o.name); //ਪ੍ਰਕਾਸ਼ਿਤ "David" delete o.name; alert(o.name); //输出 "undefined"
在这个例子中,删除了 name 属性,意味着强制解除对它的引用,将其设置为 undefined(即创建的未初始化的变量的值)。
delete 运算符不能删除开发者未定义的属性和方法。例如,下面的代码将引发错误:
delete o.toString;
即使 toString 是有效的方法名,这行代码也会引发错误,因为 toString() 方法是原始的 ECMAScript 方法,不是开发者定义的。
void
void 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:
<a href="javascript:window.open('about:blank')">Click me</a>
ਇਸ ਕੋਡ ਨੂੰ HTML ਪੇਜ ਵਿੱਚ ਪਾਓ, ਇਸ ਵਿੱਚ ਲਿੰਕ 'ਤੇ ਕਲਿੱਕ ਕਰੋ, ਤਾਂ ਤੁਸੀਂ ਸਕਰੀਨ 'ਤੇ '[object]' ਦੇਖ ਸਕੋਗੇ。TIY
ਇਹ ਇਸ ਲਈ ਹੈ ਕਿ window.open() ਮੈਥਡ ਨੇ ਨਵੇਂ ਖੁੱਲ੍ਹੇ ਵਿੰਡੋ ਦੀ ਨਿਰਦੇਸ਼ਾਂ ਦਿੱਤੀਆਂ ਹਨ, ਫਿਰ ਉਹ ਦਿਖਾਉਣ ਲਈ ਟ੍ਰਾਂਸਫਾਰਮ ਕੀਤਾ ਜਾਵੇਗਾ。
ਇਸ ਅਸਰ ਨੂੰ ਬਚਾਉਣ ਲਈ void ਆਪਰੇਟਰ ਨਾਲ window.open() ਫੰਕਸ਼ਨ ਵਰਤ ਸਕਦੇ ਹਨ:
<a href="javascript:void(window.open('about:blank'))">Click me</a>
ਇਹ ਕੰਮ ਕਰਦਾ ਹੈ ਕਿ window.open() ਆਉਟਪੁੱਟ undefined ਦਿੰਦਾ ਹੈ, ਇਹ ਇੱਕ ਵੈਧ ਮੁੱਲ ਨਹੀਂ ਹੈ, ਇਹ ਬਰਾਉਜ਼ਰ ਵਿੱਚ ਨਹੀਂ ਦਿਖਾਇਆ ਜਾਵੇਗਾ。
ਸੁਝਾਅ:ਯਾਦ ਰੱਖੋ, ਕੋਈ ਵਾਪਸੀ ਵਾਲੀ ਕੰਮ ਵਾਲੀ ਫੰਕਸ਼ਨ ਸਿਰਫ undefined ਵਾਪਸ ਕਰਦੀ ਹੈ。
ਪ੍ਰਿਫਿਕਸ ਇਨਕਰੀਮੈਂਟ/ਪ੍ਰਿਫਿਕਸ ਡਿਕਰੀਮੈਂਟ ਆਪਰੇਟਰ
ਕੇਵਲ C (ਅਤੇ Java) ਤੋਂ ਲਏ ਗਏ ਦੋ ਆਪਰੇਟਰ ਪ੍ਰਿਫਿਕਸ ਇਨਕਰੀਮੈਂਟ ਅਤੇ ਪ੍ਰਿਫਿਕਸ ਡਿਕਰੀਮੈਂਟ ਆਪਰੇਟਰ ਹਨ。
ਪ੍ਰਿਫਿਕਸ ਇਨਕਰੀਮੈਂਟ ਆਪਰੇਟਰ ਇਹ ਹੈ ਕਿ ਨੰਬਰ ਵਿੱਚ 1 ਵਧਾਉਂਦਾ ਹੈ, ਇਸ ਰੂਪ ਵਿੱਚ ਵਾਰਤਾ ਹੈ: ++
var iNum = 10; ++iNum;
ਦੂਜੀ ਲਾਈਨ ਵਿੱਚ iNum ਨੂੰ 11 ਵਧਾਇਆ ਗਿਆ ਹੈ, ਇਹ ਸ਼ਾਇਦ ਇਸ ਤਰ੍ਹਾਂ ਹੀ ਇਕੱਲੇ ਨਹੀਂ ਹੈ:
var iNum = 10; iNum = iNum + 1;
ਇਸੇ ਤਰ੍ਹਾਂ, ਪ੍ਰਿਫਿਕਸ ਡਿਕਰੀਮੈਂਟ ਆਪਰੇਟਰ ਨੂੰ ਨੰਬਰ ਤੋਂ 1 ਘਟਾਉਂਦਾ ਹੈ, ਇਸ ਰੂਪ ਵਿੱਚ ਵਾਰਤਾ ਹੈ: --
var iNum = 10; --iNum;
ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ, ਦੂਜੀ ਲਾਈਨ ਵਿੱਚ ਕੋਡ ਨੇ iNum ਦਾ ਮੁੱਲ 9 ਤੋਂ ਘਟਾ ਦਿੱਤਾ ਹੈ。
ਇਹ ਪ੍ਰਿਫਿਕਸ ਆਪਰੇਟਰ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ, ਇਨਕਰੀਮੈਂਟ ਅਤੇ ਡਿਕਰੀਮੈਂਟ ਆਪਰੇਟਰ ਮੁੱਢਲੇ ਅਨੁਮਾਨ ਵਿੱਚ ਹੁੰਦੇ ਹਨ। ਦੇਖੋ ਹੇਠ ਦਾ ਉਦਾਹਰਣ:
var iNum = 10; --iNum; alert(iNum); //ਆਉਟਪੁਟ "9" alert(--iNum); //输出 "8" alert(iNum); //ਆਉਟਪੁਟ "8"
第二行代码对 iNum 进行减量运算,第三行代码显示的结果是("9")。第四行代码又对 iNum 进行减量运算,不过这次前减量运算和输出操作出现在同一个语句中,显示的结果是 "8"。为了证明已实现了所有的减量操作,第五行代码又输出一次"8"。
ਗਣਿਤੀ ਪ੍ਰਗਟਾਵੇ ਵਿੱਚ ਪ੍ਰੋਫ਼ਿਕਸ ਵਾਧਾ ਅਤੇ ਪ੍ਰੋਫ਼ਿਕਸ ਘਟਾਓ ਗਣਨੇ ਦੀ ਪ੍ਰਾਥਮਿਕਤਾ ਇੱਕ ਸਮਾਨ ਹੈ, ਇਸ ਲਈ ਇਸ ਨੂੰ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਦੀ ਕਿਸਮ ਨਾਲ ਗਣਨਾ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ:
var iNum1 = 2; var iNum2 = 20; var iNum3 = --iNum1 + ++iNum2; //ਬਰਾਬਰ ਹੈ "22" var iNum4 = iNum1 + iNum2; //ਬਰਾਬਰ ਹੈ "22"
ਪਿਛਲੇ ਕੋਡ ਵਿੱਚ iNum3 22 ਹੈ, ਕਿਉਂਕਿ ਗਣਨਾ ਕਰਨ ਵਾਲੇ ਪ੍ਰਗਟਾਵੇ ਵਿੱਚ 1 + 21 ਹੈ। ਵਾਰਂਟਾਬਲ iNum4 ਵੀ 22 ਹੈ, ਜੋ ਵੀ 1 + 21 ਹੈ。
ਪਿਛਲੇ ਵਾਧਾ/ਪਿਛਲੇ ਘਟਾਓ ਗਣਨੇ
ਇਹ ਦੋ ਸਿੱਧੇ ਤੌਰ 'ਤੇ C (ਅਤੇ Java) ਤੋਂ ਲਏ ਗਏ ਗਣਨੇ ਹਨ, ਜਿਵੇਂ ਪਿਛਲੇ ਵਾਧਾ ਅਤੇ ਪਿਛਲੇ ਘਟਾਓ ਗਣਨੇ ਹਨ。
ਪਿਛਲੇ ਵਾਧਾ ਗਣਨੇ ਵਾਲਾ ਗਣਨੇ ਵਾਲਾ ਵਾਧਾ ਕਰਦਾ ਹੈ, ਫਾਰਮ (++) ਵਿੱਚ ਮੁੱਲ ਦੇ ਬਾਅਦ ਲਿਆ ਜਾਂਦਾ ਹੈ:
var iNum = 10; iNum++;
ਇਸ ਤਰ੍ਹਾਂ, ਪਿਛਲੇ ਘਟਾਓ ਗਣਨੇ ਵਾਲਾ ਗਣਨੇ ਵਾਲਾ ਗਣਨੇ ਵਾਲਾ ਘਟਾਓ ਕਰਦਾ ਹੈ, ਫਾਰਮ (--) ਵਿੱਚ ਮੁੱਲ ਦੇ ਬਾਅਦ ਲਿਆ ਜਾਂਦਾ ਹੈ:
var iNum = 10; iNum--;
ਦੂਜੀ ਲਾਈਨ ਵਿੱਚ iNum ਦਾ ਮੁੱਲ 9 ਕਰ ਦਿੰਦੀ ਹੈ。
ਪ੍ਰੋਫ਼ਿਕਸ ਗਣਨੇ ਦੇ ਵਿਰੁੱਧ, ਪਿਛਲੇ ਵਾਧਾ ਅਤੇ ਪਿਛਲੇ ਘਟਾਓ ਗਣਨੇ ਦਾ ਕੰਮ ਗਣਨਾ ਕਰਨ ਤੋਂ ਬਾਅਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਦੇਖੋ ਹੇਠ ਦਾ ਉਦਾਹਰਣ:
var iNum = 10; iNum--; alert(iNum); //ਆਉਟਪੁਟ "9" alert(iNum--); //ਆਉਟਪੁਟ "9" alert(iNum); //ਆਉਟਪੁਟ "8"
ਪ੍ਰੋਫ਼ਿਕਸ ਗਣਨੇ ਦੇ ਉਦਾਹਰਣ ਦੇ ਅਨੁਰੂਪ, ਦੂਜੀ ਲਾਈਨ ਵਿੱਚ ਦੂਜੀ ਲਾਈਨ ਵਿੱਚ iNum ਦੇ ਘਟਾਓ ਗਣਨੇ ਦਾ ਕੰਮ ਕਰਦੀ ਹੈ, ਤੀਜੀ ਲਾਈਨ ਵਿੱਚ ਨਤੀਜਾ ("9") ਦਿਖਾਉਂਦੀ ਹੈ। ਚੌਥੀ ਲਾਈਨ ਵਿੱਚ ਇਸ ਨੂੰ ਮੁੜ ਵਾਰ ਦਿਖਾਉਂਦੀ ਹੈ, ਲੇਕਿਨ ਇਸ ਵਾਰ ਇਸ ਵਿੱਚ ਘਟਾਓ ਗਣਨੇ ਦਾ ਉਪਯੋਗ ਇੱਕ ਹੀ ਵਾਕ ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਸ ਲਈ ਇਹ ਨਤੀਜਾ ("9") ਦਿਖਾਉਂਦਾ ਹੈ। ਘਟਾਓ ਗਣਨੇ ਦਾ ਕੰਮ ਗਣਨਾ ਕਰਨ ਤੋਂ ਬਾਅਦ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਵਾਕ ਦਿਖਾਉਣ ਵਾਲਾ ਨੰਬਰ ("9") ਹੈ। ਪੰਜਵੀਂ ਲਾਈਨ ਦੇ ਬਾਅਦ alert ਫੰਕਸਨ ਵਿੱਚ ਦਿਖਾਈ ਦਾ ਨੰਬਰ ("8") ਹੈ, ਕਿਉਂਕਿ ਚੌਥੀ ਲਾਈਨ ਦੇ ਬਾਅਦ ਅਤੇ ਪੰਜਵੀਂ ਲਾਈਨ ਦੇ ਬਾਅਦ ਘਟਾਓ ਗਣਨੇ ਦਾ ਕੰਮ ਕੀਤਾ ਗਿਆ ਹੈ。
ਗਣਿਤੀ ਪ੍ਰਗਟਾਵੇ ਵਿੱਚ ਪਿਛਲੇ ਵਾਧਾ ਅਤੇ ਪਿਛਲੇ ਘਟਾਓ ਗਣਨੇ ਦੀ ਪ੍ਰਾਥਮਿਕਤਾ ਇੱਕ ਸਮਾਨ ਹੈ, ਇਸ ਲਈ ਇਸ ਨੂੰ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਦੀ ਕਿਸਮ ਨਾਲ ਗਣਨਾ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ:
var iNum1 = 2; var iNum2 = 20; var iNum3 = iNum1-- + iNum2++; //ਬਰਾਬਰ ਹੈ "22" var iNum4 = iNum1 + iNum2; //ਬਰਾਬਰ ਹੈ "22"
在前面的代码中,iNum3 等于 22,因为表达式要计算的是 2 + 20。变量 iNum4 也等于 22,不过它计算的是 1 + 21,因为增量和减量运算都在给 iNum3 赋值后才发生。
一元加法和一元减法
ਮਿਆਂਨੇ ਲੋਕ ਇੱਕ ਤਰਫੋਂ ਜੋੜੇ ਅਤੇ ਇੱਕ ਤਰਫੋਂ ਘਟਾਓ ਨੂੰ ਜਾਣਦੇ ਹਨ, ਇਹ ECMAScript ਵਿੱਚ ਦੇਖੇ ਜਾਣ ਵਾਲੇ ਇਸ ਨਾਲ ਮੈਟਰਿਕ ਵਿੱਚ ਸਿੱਖੇ ਹੋਏ ਇਸ ਨਾਲ ਮਿਲਦਾ ਹੈ。
ਇੱਕ ਤਰਫੋਂ ਜੋੜੇ ਆਪਰੇਟਰ ਦੇ ਮੂਲ ਰੂਪ ਵਿੱਚ ਨੰਬਰ 'ਤੇ ਕੋਈ ਪ੍ਰਭਾਵ ਨਹੀਂ ਪਾਉਂਦਾ:
var iNum = 20; iNum = +iNum; alert(iNum); //ਆਉਟਪੁਟ "20"
ਇਹ ਕੋਡ ਨੰਬਰ 20 'ਤੇ ਇੱਕ ਤਰਫੋਂ ਜੋੜੇ ਆਪਰੇਟਰ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸ ਦਾ ਆਉਟਪੁਟ ਹੀ 20 ਹੋਵੇਗਾ。
ਇੱਕ ਤਰਫੋਂ ਜੋੜੇ ਆਪਰੇਟਰ ਨੇ ਨੰਬਰ 'ਤੇ ਕੋਈ ਪ੍ਰਭਾਵ ਨਹੀਂ ਪਾਉਂਦਾ, ਪਰ ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ 'ਤੇ ਕਿਲਬਤ ਪ੍ਰਭਾਵ ਪਾਉਂਦਾ ਹੈ, ਇਹ ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ ਨੂੰ ਨੰਬਰ ਵਿੱਚ ਬਦਲ ਦੇਵੇਗਾ。
var sNum = "20"; alert(typeof sNum); //ਆਉਟਪੁਟ "string" var iNum = +sNum; alert(typeof iNum); //ਆਉਟਪੁਟ "number"
ਇਹ ਕੋਡ "20" ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ ਨੂੰ ਅਸਲ ਨੰਬਰ ਵਿੱਚ ਬਦਲ ਦੇਵੇਗਾ। ਜਦੋਂ ਇੱਕ ਤਰਫੋਂ ਜੋੜੇ ਆਪਰੇਟਰ ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ ਨੂੰ ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ ਨਾਲ ਹੱਲ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਸ ਦਾ ਹੱਲ ਕਰਨ ਦਾ ਤਰੀਕਾ parseInt() ਨਾਲ ਮਿਲਦਾ ਹੈ, ਪਰਿਵਰਤਨ ਦਾ ਮੁੱਖ ਅੰਤਰ ਇਹ ਹੈ ਕਿ ਸਿਰਫ "0x" ਨਾਲ ਸ਼ੁਰੂ ਹੋਣ ਵਾਲੇ ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ (ਹੈਕਸੈਡੇਸ਼ਨ ਨੰਬਰ) ਨੂੰ ਇੱਕ ਤਰਫੋਂ ਆਪਰੇਟਰ ਨੇ ਦਸਮੀ ਮੁੱਲ ਵਿੱਚ ਬਦਲ ਦੇਵੇਗਾ। ਇਸ ਲਈ, "010" ਨੂੰ ਬਦਲਣ ਵਾਲਾ ਹਰ ਕੋਈ 10 ਹੋਵੇਗਾ, ਪਰ "0xB" ਨੂੰ 11 ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ ਜਾਵੇਗਾ。
ਦੂਜੇ ਪਾਸੇ, ਇੱਕ ਤਰਫੋਂ ਘਟਾਓ ਹੈ ਕਿ ਨੰਬਰ ਦੀ ਨੈਗੇਟਿਵ ਬਣਾਉਣਾ (ਉਦਾਹਰਣ ਵਜੋਂ 20 ਨੂੰ -20 ਵਿੱਚ ਬਦਲਣਾ):
var iNum = 20; iNum = -iNum; alert(iNum); //ਆਉਟਪੁਟ "-20"
ਇੱਕ ਤਰਫੋਂ ਜੋੜੇ ਆਪਰੇਟਰ ਨਾਲ ਮਿਲਦਾ ਹੈ, ਇੱਕ ਤਰਫੋਂ ਘਟਾਓ ਆਪਰੇਟਰ ਵੀ ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ ਨੂੰ ਲਗਭਗ ਦੇ ਨੰਬਰ ਵਿੱਚ ਬਦਲ ਦੇਵੇਗਾ, ਇਸ ਮੁੱਲ ਦੀ ਨੈਗੇਟਿਵ ਵੀ ਲਗਾਉਂਦਾ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ:
var sNum = "20"; alert(typeof sNum); //ਆਉਟਪੁਟ "string" var iNum = -sNum; alert(iNum); //ਆਉਟਪੁਟ "-20" alert(typeof iNum); //ਆਉਟਪੁਟ "number"
ਉੱਪਰ ਦੇ ਕੋਡ ਵਿੱਚ, ਇੱਕ ਤਰਫੋਂ ਘਟਾਓ ਆਪਰੇਟਰ ਚਿੰਨ੍ਹ ਚਿੰਨ੍ਹ "-20" ਨੂੰ -20 (ਇੱਕ ਤਰਫੋਂ ਘਟਾਓ ਆਪਰੇਟਰ ਦਾ ਹੈਕਸੈਡੇਸ਼ਨ ਅਤੇ ਡਿਸੀਮਲ ਦਾ ਹੱਲ ਇੱਕ ਤਰਫੋਂ ਜੋੜੇ ਆਪਰੇਟਰ ਨਾਲ ਮਿਲਦਾ ਹੈ, ਪਰ ਇਹ ਇਸ ਮੁੱਲ ਦੀ ਨੈਗੇਟਿਵ ਵੀ ਲਗਾਉਂਦਾ ਹੈ) ਵਿੱਚ ਬਦਲ ਦੇਵੇਗਾ。
- ਪਿਛਲਾ ਪੰਨਾ ای سی ایم اسکریپت مرتبط نوع
- ਅਗਲਾ ਪੰਨਾ ਸਥਾਨਕ ਆਪਰੇਟਰ