前端_JavaScript_语法篇
栏目: JavaScript · 发布时间: 5年前
内容简介:JavaScript是ECMAScript的一种实现方式之一,轻量级的脚本语言,本身不提供I/O(输入/输出)相关的API,host提供。变量: 变量是对"值"的具名引用,变量名区分大小写. 声明变量的六种方法:var function let const import class变量提升:JavaScript引擎的工作方式,先解析代码,获取所有被声明的变量,然后再一行行地运行.所有的变量声明语句会被放在代码的头部.
JavaScript
JavaScript是ECMAScript的一种实现方式之一,轻量级的脚本语言,本身不提供I/O(输入/输出)相关的API,host提供。
一:语法
变量: 变量是对"值"的具名引用,变量名区分大小写. 声明变量的六种方法:var function let const import class
变量提升:JavaScript引擎的工作方式,先解析代码,获取所有被声明的变量,然后再一行行地运行.所有的变量声明语句会被放在代码的头部.
标识符: 变量名,函数名等.命名规则,首字母可以是字母或$或_,余下字符:除了Unicode字母,美元符号和下划线,还可以用数字0-9 使用驼峰命名法
保留字:不能作标识符, argument,break,case,catch,class,const,continue,debugger,default,delete,do,else,enum,eval,
export,extends,flase,finally,for,function,if,implements,import,in,instanceof,interface,let,new,null,package,private,
protected,public,return,static,super,switch,this,throw,true,try,typeof,var,void,while,with,yield.
注释: 一种单行注释:用//开头. 多行注释: / 和 /之间. <!---->
语句: if结构 if..else结构 switch结构 三元运算符?: while循环 for循环 do...while循环 break语句和continue语句 lable标签
if语句,if-else语句,switch语句,注意switch语句后面的表达式,与case语句后面的表达式比较运算结果时,采用的是严格相等运算符(===),而不是相等运算符(==),即不会发生类型转换.
数据类型
JavaScript的数据类型共有七种:number (数字).string(字符串),boolean(布尔型),undefined(未定义),null(空),object(对象),
Symbol(符合).
原始类型:数值/字符串/布尔值. 特殊值:null/undefined.
合成类型:object,存放许多值的容器.对象细分为:狭义的对象,数组,函数.
判断一个值的类型: typeof运算符, instanceof运算符 object.prototype.toString运算符
历史遗留,typeof null 会返回object instanceof可以区分array和object
null和undefined: null是一个表示"空"的对象,转为数值时为0,undefined是一个表示"此处无定义"的原始值,转为数值为NaN.
null:好比待补球员. undefined: 当变量声明了,但没有赋值,调用函数时,该提供的参数没有提供,该参数等于undefined.对象没有赋值的属性,函数没有返回值时,默认返回undefined.
Bollean:真true,假false.以下运算符返回布尔值,前置逻辑运算符! ,相等运算符 === !== == != 比较运算符 > >= < <=
以下六个值被转为false(undefined,null,false,0 NaN, ""或'),其他值都视为true,空数组{}和空对象对应的布尔值都是true.
number: 在JavaScript内部,所有的数字都是小数(64位浮点数),对于某些运算需要整数,会自动把64位数浮点数转换为32位整数,再进行运算. Js中最大数值为2的1024次方,超出则Infinity. Js中最小值为2的-1075次方,超出则0.
数值的进制:十进制,十六进制(0x或0X),八进制(0o或0O),二进制(0B或0b).历史遗留,0888会被看做八进制.
特殊数值:正零和负零,Js内部的2个0,一个是+0,-0,区别是64位浮点数表示法的符号位不同,它们为等价的。 NaN是JavaScript的特殊值,数据类型依然属于Number,表示“非数字”,主要出现在将字符串解析成数字出错的场合。NaN不等于任何值,包括它本身。 Infinity.表示“无穷”。
string:字符串'abc'或"abc", 要在''里面使用单引号加反斜杠,用来转义。 length属性返回字符串长度。
object:object是JavaScript语言的核心概念,对象是一组"键值对(key-value)"的集合,属性的读取与赋值(.运算符和[]运算符)
查看一个对象本身的所有属性,可以使用object.keys方法. 属性的删除,只能删除对象本身的属性 delete Objectname.value;
属性是否存在 in运算符 'value' in Objectname; 属性的遍历 for..in循环,用来遍历一个对象的全部属性,不仅遍历对象自身的属性,还遍历继承的属性。
function:函数是一段可以反复调用的代码块,是处理数据的方法,是JavaScript的第一等公民。函数还能接受输入的参数,不同参数返回不同值。
如果同一个函数被多次声明,后面的声明就会覆盖前面的声明.
声明函数的方法:function 函数表达式 Function构造函数
array: 数组是方括号里面按次序排列的一组值。可以先定义后赋值,可以放入任何数据类型。
<script>
(1)function命令 function print(s) { //function命令后面就是函数名,函数名后面一组圆括号,里面是传入的参数,函数体放入大括号里面。 console.log(s); } (2)函数表达式 let print = function(s) { //表达式的function命令之后,如要加函数名,则只会在函数体内部有效,在函数体外部无效. console.log(s); }; (3)Function构造函数 let add = new Function ( 'x', 'y', 'return x + y' );
</script>
运算符
处理数据的基本方法,从现有的值得到新的值.
算术运算符,比较运算符,布尔运算符,二进制运算符,其他运算符,运算顺序.
算术运算符:加法运算符(+),减法运算符(-),乘法运算符( ),除法运算符(/),指数运算符( *)余数运算符(%),自增运算符(++x/++x),
自减运算符(--x/x--),数值运算符(+),负数值运算符(-x) 加法运算符允许非数值的相加.
比较运算符: >(大于运算符) <(小于运算符) <=(小于或等于运算符) >=(大于或等于运算符) ==(相等运算符) ==(严格运算符) !=(不相等运算符)
!==(严格不相等运算符)
布尔运算符:!(取反运算符) &&(且运算符) ||(或运算符) ?:(三元运算符) ·以下运算符(undefined,null,false,0,NaN,'')取反为true.
二进制位运算符:
其他运算符,运算顺序:
void运算符,执行一个表达式,如何不返回任何值.或者返货undefined.
逗号运算符,用于对两个表达式求职,并返回后一个表达式的值.
专题一:数据类型的转换
Number(),解析为数值,不可解析与undefined则NaN,空字符串与null则为0,true转为1.false转为0.
String(),解析为字符串。
Boolean(),转为布尔值,以下五个值(undefined,null,-0或+0,NaN,''(空字符串))的转换结果为false,其他的值为true.
参考
(1)网道-互联网开发文档( https://wangdoc.com/).
以上所述就是小编给大家介绍的《前端_JavaScript_语法篇》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 前端的flutter之路(一):语法
- 前端进阶之 JS 抽象语法树
- 胡子哥的重学前端(笔记)css语法
- 重学前端学习笔记(十)--CSS语法关于带@的规则
- Swift语法快速入门(一)之 Swift基础语法
- 在ES6中使用扩展语法有什么好处?它与rest语法有什么不同?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深入理解Java虚拟机
周志明 / 机械工业出版社 / 2011-6 / 69.00元
《深入理解Java虚拟机:JVM高级特性与最佳实践》内容简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案......一起来看看 《深入理解Java虚拟机》 这本书的介绍吧!