ఇక్మాస్క్రిప్ట్ అక్సెస్ అపరేటర్స్

ఒక పరామితి కలిగిన ఆపరేటర్ ఒక పరామితిని మాత్రమే కలిగి ఉంటుంది, అది ఆపరేట్ చేయాలి వాటిని లేదా వాల్యూస్. వారు 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 ను తిరిగి ఇస్తుంది. ఈ ఆపరేటర్ సాధారణంగా కానీ ప్రస్తుతం ప్రస్తుతించబడని విలువలను నివారించడానికి ఉపయోగిస్తారు, ఉదాహరణకు, హెచ్ఎంఎల్ లో <a> ఎలమెంట్ నుండి జావాస్క్రిప్ట్ ఫంక్షన్ కాల్ చేయడం వంటి సందర్భాల్లో. ఈ విధంగా చేయడానికి, ఫంక్షన్ ఎటువంటి ప్రమాణిక విలువను తిరిగి ఇవ్వకూడదు, అలాగే అప్పుడు బ్రౌజర్ పేజీ నష్టం కాగలదు. ఉదాహరణకు:

<a href="javascript:window.open('about:blank')">నాకు క్లిక్ చేయండి</a>

ఈ కోడ్ ను హెచ్ఎంఎల్ పేజీలో పెట్టినప్పుడు, లింక్ పై క్లిక్ చేసినప్పుడు, స్క్రీన్ పై "[object]" చూపబడుతుంది.TIY

ఇంకా, window.open() మెథడ్ ఒక కొత్త తెరను తెరుస్తుంది మరియు ఆ తెరను సూచించే రఫ్తాను తిరిగి ఇస్తుంది. అప్పుడు ఆ అవతారం చూపించడానికి మార్చబడుతుంది.

ఈ ప్రభావాన్ని నివారించడానికి, void ఆపరేటర్ ద్వారా window.open() ఫంక్షన్ కాల్ చేయవచ్చు:

<a href="javascript:void(window.open('about:blank'))">నాకు క్లిక్ చేయండి</a>

ఈ విధంగా, window.open() కాల్ చేయడం అనంతరం undefined ను తిరిగి ఇస్తుంది, ఇది ప్రమాణిక విలువ కాదు, బ్రౌజర్ లో చూపబడదు.

హింసాప్రదమైన నిదర్శనం:జాబితా లేని ఫంక్షన్స్ వాస్తవానికి అన్నింటికీ undefined ను తిరిగి ఇస్తాయి.

ప్రిక్స్ ఇన్క్రీమెంట్/ప్రిక్స్ డిక్రీమెంట్ ఆపరేటర్లు

ఈ రెండు ఆపరేటర్లు ప్రిక్స్ ఇన్క్రీమెంట్ మరియు ప్రిక్స్ డిక్రీమెంట్ అని పిలుస్తారు అని సి (మరియు జావా) నుండి ప్రత్యక్షంగా పొందబడ్డాయి.

ప్రిక్స్ ఇన్క్రీమెంట్ ఆపరేటర్ అంటే, విలువను 1కు పెంచడం, రూపంలో వ్యవస్థకు ముందు రెండు ప్లస్ సంకేతాలు ఉంటాయి (++):

var iNum = 10;
++iNum;

రెండవ పంక్తి కోడ్ ఐనమ్ విలువను 11కు పెంచింది, ఇది వాస్తవానికి ఈ విధంగా సమానం కాగలదు:

var iNum = 10;
iNum = iNum + 1;

అదేవిధంగా, ప్రిక్స్ డిక్రీమెంట్ ఆపరేటర్ విలువను 1కు తగ్గిస్తుంది, రూపంలో వ్యవస్థకు ముందు రెండు మినస్ సంకేతాలు ఉంటాయి (--):

var iNum = 10;
--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)借用的运算符,即后增量运算符和后减量运算符。

后增量运算符也是给数值上加 1,形式是在变量后放两个加号(++):

var iNum = 10;
iNum++;

不出所料,后减量运算符也是从数值上减 1,形式为在变量后加两个减号(--):

var iNum = 10;
iNum--;

第二行代码把 iNum 的 值减到 9。

与前缀式运算符不同的是,后缀式运算符是在计算过包含它们的表达式后才进行增量或减量运算的。考虑以下的例子:

var iNum = 10;
iNum--;
alert(iNum);	//输出 "9"
alert(iNum--);	//输出 "9"
alert(iNum);	//输出 "8"

与前缀式运算符的例子相似,第二行代码对 iNum 进行减量运算,第三行代码显示结果("9")。第四行代码继续显示 iNum 的值,不过这次是在同一语句中应用减量运算符。由于减量运算发生在计算过表达式之后,所以这条语句显示的数是 "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 (ఒక నిర్దిష్ట కింది నిర్వహణాత్మక చిహ్నం పదార్థాలను హెక్సాడెసిమల్ మరియు డెసిమల్ కు పరిమితించడం సహాయపడుతుంది, కానీ ఇది అందుకు నకిలీ మార్పు చేస్తుంది).