JavaScript 语言精粹一 (简单的实验场)

393 阅读4分钟

JavaScript 语言精粹一

我很熟悉它,早就在文法书上念过了。 - 威廉·莎士比亚《泰特斯·安德洛尼克斯》

起步:

  • 这本书首章并未讲解太多内容,一些太过基础的我就不予记录了
  • 以编写规范出发,用‘铁路图’来进行 JS 语法调用进行阐述
  • 补充代码编写的基本注意点比如
    • let title = 'Developers'非等号空格两边不可移除
    • JavaScript没有字符类型,表示字符直接创建包含任意一个字符的字符串即可
    • 注意:字符串一旦创建,就无法改变;只可通过‘+’运算符进行拼接来生成一个新的字符创。
    • 两个包含相同字符且顺序相同的字符串被认为属于相同字符串如:'a'+'b'==='ab'为 true
  • JavaScript 中,以下特殊值为 false
    • false
    • undefine
    • 空字符串 ' '
    • 数字 0
    • 数字 NaN
  • 同理,其他所有值在 JavaScript 中都被当做true,包括字符串‘false’及所有对象

有关JavaScript中的运算符优先级

运算符说明优先级
[ ] . ( )属性提取、函数调用从左向右
++ -- -~!delete new typeof void一元运算符、返回数据类型、对象创建、未定义的值从左向右
*、/、%相乘、相除、求余数从左向右
+、-相加、相减、字符串连接从左向右
<<、>>、>>><<、>>、>>>从左向右
<、<=、>、>=、instanceof小于、小于或等于、大于、大于或等于、是否为特定类的实例从左向右
==、!=、===、!==相等、不等、全等,不全等从左向右
&按位“与”从左向右
|按位“或”从左向右
&&逻辑“与”从左向右
||逻辑“或”从左向右
?:条件运算符从右向左
=、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>=混合赋值运算符从右向左
  • 注:计算机运算计算表达式时执行运算的先后顺序。 先执行具有较高优先级的运算,然后执行较低优先级的运算
  • 如果优先级一样高,一般是左往右算,特殊由右往左运算
    • 比如:赋值运算符(=);三目运算符(?:)
  • 如下相等:
  w = x = y = z;
  w = (x = (y = z));
//上方x这个括号我故意改成中文,不然格式化就自动把括号去了
var a=0,b=2,c=3,d=4,e=5,f=6,g=7,q,w;

q = a ? b : (c ? d : (e ? f : g));
w = a ? b : c ? d : e ? f : g;
console.log(q)//4
console.log(w)//4
  • 在三元运算符 ? 中,有三个运算数,如果第一个运算数为真,则产生第二个运算数的值,否则产生第三个运算符的值。
  • 因为我接触三元运算符也挺长的,所以总结了我自己遇到的问题
/**
 * 、直接 return 返回值问题
*/
  let Flag=true;
  function get(){
    //--错误的写法--Unexpected token 'return'
    Flag? return 'success' : return 'erro'
    //--正确的写法--success
    return Flag? 'success':'erro';
  }
  get();
/**
 * 、在三元运算符中夹杂执行函数问题
 * 先定义再引用,或直接编写IIFE(自执行函数)
*/
  let Flag=true;
  function opt1(){
    return 'first'
  }
  function second(){
    return 'second'
  }
  Flag?first():second()
 // ------------------------
 Flag?(function(){
   return 'first'
 }()):(function(){
   return 'second'
 }())

字面量

  • 对象字面量是一种可以方便地按指定规格创建新对象的表示法,属性名可以是标识符或字符串,这些名字被当做字面量名而不是变量名来对待,所以对象的属性名在编译时才能知道,属性的值就是表达式。
  • 同理,数组字面量是一种可以方便地按指定规格创建新数组的表示法

函数

  • 函数字面量定义了函数值。它可以有一个可选的名字。用于递归调用自己,具体可看(算法图解二(递归及内存存储原理))

总结:书中起步没有太多内容,过于简略介绍,内容集中在 4-6 章,期待本书后边的内容。

或许你对以下内容也感兴趣