开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
LearningPHP
/
JavaScript
/
jsCoreSyntax.tex
LearningPHP
/
JavaScript
/
jsCoreSyntax.tex
jsCoreSyntax.tex 10.35 KB
一键复制 编辑 原始数据 按行查看 历史
yangjh 提交于 2016年04月04日 12:07 +08:00 . 完成取值与单位小节内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
\section{JavaScript核心语法}
\subsection{注释}
JavaScript的注释和CSS注释类似,分多行和单行,多行注释使用/* ... */,如:
\begin{lstlisting}
/*
Everything in between is a comment.
*/
\end{lstlisting}
单行注释使用"//"表示,如:
\begin{lstlisting}
// This is a comment
\end{lstlisting}
\subsection{变量}
所谓变量就是程序中数据的临时存放场所。JavaScript的变量定义都是使用"var"关键字,示例如下:
\begin{lstlisting}
var author = "yangjh";
var age = 35;
var Age = 36;
var male = true;
\end{lstlisting}
上述三行代码中,var关键字表示声明变量,变量名紧跟其后,通过等于号将变量赋予变量初始值。每一行结束的分号可以不写,但书写分号后,能增强代码的可读性。
变量的名称必须遵循以下规则:
\begin{enumerate}
\item 首字符必须是字母、下划线或美元符号。
\item 其余字母可以是下划线、美元符号、任意字母或者数字。
\item 变量名称不能是关键字或保留字,具体保留字的内容参见附录\ref{JavaScript保留字}
\item 变量名对大小写敏感,例如:变量age和Age是不同的变量。
\item 变量名中不能有空格、回车符或其他标点字符。
\end{enumerate}
\subsection{常量}
常量意味着其中保存的值是固定不变的,JavaScript使用关键字const声明常量,习惯上,常量名称使用大写字母。
\begin{lstlisting}
const A = 7;
console.log("A is " + A + ".");
\end{lstlisting}
上面的例子将输出 "A is 7."。
\subsection{运算符}
运算符用于将一个或多个值运算成结果。在Javascript中,常用的运算符有以下几种类别:
\subsubsection{算术运算符}
算术运算符能对操作数进行运算,返回一个数值型的值。常见的有"+"、"-"、 "*"、"/"。
\subsubsection{关系运算符}
关系运算符(见\ref{tab:关系运算符})通常用于检查两个操作数之间的关系,返回值为true或false。
\begin{table}[htbp]
\centering
\caption{关系运算符}
\begin{tabular}{llll}
\toprule
运算符 & 说明 & 例子 & 结果\\
\midrule
== & 是否相等 & 5=="5" & TRUE \\
=== & 是否全等 & 5=="5" & FALSE \\
!= & 是否不等 & 5!="5" & FALSE \\
!== & 是否不全等 & 5!="5" & TRUE \\
> & 是否大于 & 5>8 & FALSE \\
< & 是否小于 & 5<8 & TRUE \\
>= & 是否大于等于 & 5>=8 & FALSE \\
<= & 是否小于等于 & 5<=8 & TRUE \\
\bottomrule
\end{tabular}
\label{tab:关系运算符}
\end{table}
\subsubsection{赋值运算符}
赋值运算符是使用最多的运算符,常见的赋值运算符就是"=",它将右边的值赋与等号左边的变量。
\subsubsection{逻辑运算符}
逻辑运算符用来判断操作数之间的逻辑关系,返回值为true和false。javascript支持一下三种逻辑运算符(见\ref{tab:逻辑运算符})。
\begin{table}[htbp]
\centering
\caption{逻辑运算符}
\begin{tabular}{llll}
\toprule
\multicolumn{1}{c}{运算符} & \multicolumn{1}{c}{说明} & \multicolumn{1}{c}{例子} & \multicolumn{1}{c}{结果} \\
\midrule
\&\& & 逻辑与 & 5>3 \&\& 4>3 & TRUE \\
|| & 逻辑或 & 5>3 || 3>5 & FALSE \\
! & 逻辑非 & !(3>5) & TRUE \\
\bottomrule
\end{tabular}%
\label{tab:逻辑运算符}%
\end{table}%
\subsubsection{连接运算符}
连接运算符"+"能将字符串连接起来构成一个新的字符串。如:
\begin{lstlisting}
var txt1 = "JavaScript";
var txt2 = "基础教程";
var txt3 = txt1 + txt2;
\end{lstlisting}
变量txt3的结果是"JavaScript基础教程"。
\subsection{流程控制}
和其他语言一样,JavaScript也是由上到下逐行执行代码,还可以通过分支、循环改变执行流程。
\subsubsection{语句块}
语句块用来组织多条语句。用一对花括号界定语句块。语法如下:
\begin{lstlisting}
{
statement_1;
statement_2;
...
statement_n;
}
\end{lstlisting}
注意语句块不是以分号结尾。语句块常在流程控制语句中使用。
\subsubsection{if...else}
根据设定条件,选择性地执行语句,当指定条件为true时会执行一条语句,如果该条件为false,则执行另一条语句。
\begin{lstlisting}
if (condition) {
statements1
} else {
statements2
}
\end{lstlisting}
\subsubsection{switch}
switch 语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行。
\begin{lstlisting}
switch (expression) {
case value1:
// 当 expression 的结果与 value1 匹配时,从此处开始执行
statements1;
[break;]
case value2:
// 当 expression 的结果与 value2 匹配时,从此处开始执行
statements2;
[break;]
...
case valueN:
// 当 expression 的结果与 valueN 匹配时,从此处开始执行
statementsN;
[break;]
default:
// 如果 expression 与上面的 value 值都不匹配时,执行此处的语句
statements_def;
[break;]
}
\end{lstlisting}
switch语句中的break语句,能保证程序执行到该语句时,不再执行后续语句,而是跳出switch语句块。
\subsubsection{for}
for语句创建一个包含初始条件、终止条件和步进规则的循环体。例如下面的代码将循环10次(从0-9),然后在控制台中打印出0-9的数字:
\begin{lstlisting}
for (var i = 0; i < 9; i++) {
console.log(i);
// more statements
}
\end{lstlisting}
\subsubsection{while}
while 语句可以在某个条件表达式为真的前提下,循环执行指定的一段代码,直到那个表达式不为真时结束循环。语法如下:
\begin{lstlisting}
while (condition) {
statement
}
\end{lstlisting}
\subsubsection{do...while}
do...while 语句创建了一个循环,该循环执行一个指定的语句直到condition 的值为 false。 condition 在执行statement后才会被赋值,statement至少执行一次。语法如下:
\begin{lstlisting}
do {
statement;
...
}
while (condition);
\end{lstlisting}
\subsection{函数}
使用关键字function声明一个函数。函数还可有参数和返回值。
\begin{lstlisting}
function name([param,[, param,[..., param]]]) {
[statements]
}
\end{lstlisting}
参数可以是常量、变量或表达式,多个参数之间用逗号隔开。若函数需要返回值,使用return语句。默认情况下,函数是返回 undefined 类型。想要返回一个其他的值,函数必须通过一个 return 语句指定返回值。
定义函数的时候,并不会执行构成该函数的任何语句。只有当调用该函数时,函数里面的语句才会执行,直到碰到return语句,return语句之后的内容不会被执行。
\subsubsection{回调函数}
回调函数
\subsection{对象}
Javascript 中对象(object)的概念可以比照着现实生活中实实在在的物体来理解。
在JavaScript中,一个对象可以是一个单独的拥有属性和类型的实体。我们拿它和一个杯子做下类比。一个杯子是一个对象(物体),拥有属性。杯子有颜色,图案,重量,由什么材质构成等等。同样,javascript对象也有属性来定义它的特征。
一个对象就是一系列属性的集合,一个属性包含一个名字和一个值。一个属性的值可以是函数,这种情况下属性也被称为方法。
在 JavaScript 中,几乎所有的东西都是对象。所有的原生类型除了 null 与 undefined 之外都被当作对象。它们可以被赋予属性,并且它们都有对象的全部特征。
\subsubsection{对象的创建}
JavaScript 拥有一系列预定义的对象。另外,我们可以通过对象初始化器(Object Initializer)创建自己的对象。或者通过创建一个构造函数并使用该函数和 new 操作符初始化对象。
通过对象初始化器创建对象的方法如下:
\begin{lstlisting}
var obj = { property_1: value_1, // property_# may be an identifier...
property_2: value_2, // or a number...
// ...,
"property n": value_n }; // or a string
\end{lstlisting}
这里 obj 是新对象实例的名称,每一个 property\_i 是一个标识符(可以是一个名称、数字或字符串字面量),并且每个 value\_i 是一个其值将被赋予 property\_i 的表达式。属性的集合用{}标记,通过点符号来访问一个对象的属性。对象有时也被叫作关联数组, 因为每个属性都有一个用于访问它的字符串值。如:
\begin{lstlisting}
obj['property_1'] = value1;
obj[0] = value1;
\end{lstlisting}
但显然,用方括号访问对象属性的方式不如使用点符号的方式简洁。
通过new运算符创建对象的示例如下:
\begin{lstlisting}
var author = new Object();
author.words = '绿叶恋爱时便成了花';
console.log(author.words);
\end{lstlisting}
new运算符的作用是创建一个对象实例。单纯的使用new运算符创建对象实例的方式不够灵活,尤其是要创建对象的多个实例时,需要逐一完成对象属性的赋值工作。因此,常通过构造函数和new运算符的结合创造对象,这种对象创造方法能在创造对象的同时完成对象属性的赋值。
构造函数,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,与new运算符一起使用在创建对象的语句中。
通过构造函数和new运算符创建对象的例子:
\begin{lstlisting}
function student(sName, sex, major) {
this.sName = sName;
this.sex = sex;
this.major = major;
}
var student1 = new student('小明', '男','新媒体');
\end{lstlisting}
其中的this关键字指代对象本身。
\subsubsection{对象属性的枚举}
在有些情况下,开发人员并不了解对象的内部属性,这时可以使用for...in语句枚举对象的所有属性。如下例所示:
\begin{lstlisting}
for(var i in student1) {
console.log(i + "=" + student1[i]);
}
\end{lstlisting}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

PHP网站开发
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/yangjh/LearningPHP.git
git@gitee.com:yangjh/LearningPHP.git
yangjh
LearningPHP
LearningPHP
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /