语言按照语法分类
产生式(BNF)
用形式化的语言精确描述程序设计语言的系统,上下文无关
四则运算产生式
// 加法运算<MultiplicativeExpression>:=<Factor>|<MultiplicativeExpression> "*" <Factor>|<MultiplicativeExpression> "/" <Factor>// 乘法运算<AddtiveExpression>:=<MultiplicativeExpression>|<AddtiveExpression> "+" <MultiplicativeExpression>|<AddtiveExpression> "-" <MultiplicativeExpression>// 带括号的四则运算<Factor>:=<Number>|"(" <AddtiveExpression> ")"
类型系统
静态类型与动态类型
Java是静态类型,类型在编译阶段确定
JavaScript是动态类型,类型在运行时确定
强类型与弱类型
复合类型
函数签名:如(T1, T2) => T3。java可以函数重载,javascript不可以函数重载
结构体:c有结构体,javascript对象字面量没有固定结构
子类型
协变:凡是能用Array
逆变:凡是能用Array
命令式语言的组成

