Rumah  >  Artikel  >  hujung hadapan web  >  Penjelasan terperinci tentang logik JavaScript Bukan kemahiran operator_javascript

Penjelasan terperinci tentang logik JavaScript Bukan kemahiran operator_javascript

WBOY
WBOYasal
2016-05-16 15:27:271763semak imbas

Dalam JavaScript, operator NOT logik adalah sama dengan operator NOT logik dalam C dan Java, diwakili oleh tanda seru (!). Tidak seperti operator OR logik dan AND logik, operator NOT logik sentiasa mengembalikan nilai Boolean.

Operator NOT logik berkelakuan seperti berikut:

  • Jika operan ialah objek, kembalikan palsu
  • Jika operan ialah nombor 0, kembalikan benar
  • Jika operan ialah sebarang nombor selain daripada 0, kembalikan palsu
  • Jika operan itu batal, kembalikan benar
  • Jika operan ialah NaN, kembalikan benar
  • Jika operan tidak ditentukan, ralat berlaku

Skrip ujian adalah seperti berikut:

<script type="text/javascript">
  var bFalse = false;//运算数是bool类型的数
  var sRed = "red";//运算数是字符串
  var iZero = 0;//运算数是0
  var iThreeFourFive = 345;//运算数是 0 以外的任何数字
  var oObject = new Object();//对象
  var oNull=null;//运算数是null
  var oUndefined;//运算数是undifined
  var oNaN=parseInt("abc");//使用parseInt方法把尝试字符串abc转换成整数,因为abc不是数字,因此是转不了的,所以返回的结果就是NaN
 
  /*
  writeln() 方法与 write() 方法几乎一样,差别仅在于是前者将在所提供的任何字符串后添加一个换行符。在HTML中,这通常只会在后面产生一个空格;
  不过如果使用了 <PRE> 和 <XMP> 标识,这个换行符会被解释,且在浏览器中显示。
  */
 document.writeln("<XMP>");
 document.writeln("oNaN=parseInt(\"abc\")返回的结果是"+oNaN);
 document.writeln("bool类型的数false与!运算符运算之后的结果是:" + (!bFalse));
 document.writeln("字符串sRed与!运算符运算之后的结果是: " + (!sRed));
 document.writeln("数字0与!运算符运算之后的结果是:" + (!iZero));//如果运算数是数字 0,返回 true 
 document.writeln("数字345与!运算符运算之后的结果是:" + (!iThreeFourFive));//如果运算数是 0 以外的任何数字,返回 false 
 document.writeln("对象oObject与!运算符运算之后的结果是:" + (!oObject));//如果运算数是对象,返回 false 
 document.writeln("NaN与!运算符运算之后的结果是:" + (!oNaN));//如果运算数是NaN,返回 true 
 document.writeln("null与!运算符运算之后的结果是:" + (!oNull));//如果运算数是 null,返回 true 
 document.writeln("undifined与!运算符运算之后的结果是:" + (!oUndefined));
 //document.writeln("未定义的字符串sBule与!运算符运算之后的结果是:" + (!sBule));//sBule前面没有定义,也就是sBule运算数是 undefined,因此这里发生错误 
 document.writeln("</XMP>");
 </script>

Hasil jalankan:

 

Apabila menilai nilai Boolean pembolehubah JavaScript, anda juga boleh menggunakan operator NOT logik. Melakukan ini memerlukan menggunakan dua operator NOT dalam satu baris kod. Tidak kira jenis operan, operator NOT pertama mengembalikan nilai Boolean, dan operator NOT kedua menyongsangkan nilai Boolean untuk memberikan nilai Boolean sebenar pembolehubah. Menggunakan operator bukan untuk menentukan nilai Boolean pembolehubah JavaScript ialah teknik yang sangat berguna Selagi anda mengetahui nilai Boolean pembolehubah, anda boleh mengetahui dengan cepat hasil operasi apabila menggunakan pembolehubah untuk melaksanakan && atau ||. operasi.
Skrip ujian adalah seperti berikut:

<script type="text/javascript">
  var bFalse = false;//运算数是bool类型的数
  var sRed = "red";//运算数是字符串
  var iZero = 0;//运算数是0
  var iThreeFourFive = 345;//运算数是 0 以外的任何数字
  var oObject = new Object();//对象
  var oNull=null;//运算数是null
  var oUndefined;//运算数是undifined
  var oNaN=parseInt("abc");//使用parseInt方法把尝试字符串abc转换成整数,因为abc不是数字,因此是转不了的,所以返回的结果就是NaN
 /*
 判断JavaScript 变量的 Boolean 值时,也可以使用逻辑 NOT 运算符。这样做需要在一行代码中使用两个 NOT 运算符。
 无论运算数是什么类型,第一个 NOT 运算符返回 Boolean 值。第二个 NOT 将对该 Boolean 值取反,从而给出变量真正的 Boolean 值。
 */
 document.write("<PRE>");
 document.writeln("布尔数false 的逻辑值是 " + (!!bFalse));
 document.writeln("字符串sRed 的逻辑值是 " + (!!sRed));
 document.writeln("数字0 的逻辑值是 " + (!!iZero));
 document.writeln("数字345 的逻辑值是 " + (!!iThreeFourFive));
 document.writeln("对象Object 的逻辑值是 " + (!!oObject));
 document.writeln("NaN的逻辑值是 :" + (!!oNaN));
 document.writeln("null 的逻辑值是 " + (!!oNull));
 document.writeln("undefined 的逻辑值是 " + (!!oUndefined));
 document.write("
");

Di atas ialah maklumat terperinci tentang operator JavaScript Logik Bukan saya harap ia akan membantu pembelajaran semua orang.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn