js基础一

## js三种引入方式(内嵌(用得少)、内联、外联)
1、内联:(写在head标签里)
```
<script type="text/javascript">
console.log("hello world");
</script>
```
2、外联:(写在body内容的最后面,便于优化用户体验,减少加载时间,先加载出网页的结构和样
式,最后加载行为部分)
```
<script type="text/javascript" src="js文件路径(相对路径)"></script>
```
## 声明变量
var a;(声明变量a)
a=10; (a赋值为10)
简写为var a=10;
## 数据类型 (共5种)
分别为数值类型(number)、字符串类型(string)、布尔值类型(boolean)、null(空)和undefined(未定义),前三种有含义,后两种无含义。
### 数值类型
```var a;
a=20;```
### 字串符类型
```var a;
a='hello'```

注:字符串外面用‘’和""都可以,但是''更专业。
a='what\'s\” this'
\为转译,即把原本的意思转换掉;\n为换行符
### 布尔值类型
true或false
## 变量名起名规则
- 第一个字符可以是任意Unicode大小写字母,以及美元符号($)和下划线(_)。
- 第二个字符及后面的字符,还可以用数字。
- 不能使用保留字作为变量名也不能用符号

##### *JavaScript保留字*
`abstract`
`boolean` `break` `byte`
`case` `catch` `char` `class` `const` `continue`
`debugger` `default` `delete` `do` `double`
`else` `enum` `export` `extends`
`false` `final` `finally` `float` `for` `function`
`goto`
`if` `implements` `import` `in` `instanceof` `int` `interface`
`long`
`native` `new` `null`
`package` `private` `protected` `public`
`return`
`short` `static` `super` `switch` `synchronized`
`this` `throw` `throws` `transient` `true` `try` `typeof`
`var` `void` `volatile`
`while` `with`
# 操作符
## 一元操作符(只有一个操作数)
### 递增操作符(++)递减操作符(--)
a++和++a都是递增,但是意义不同
- 自增操作符放在操作数的前面(++a),会把操作数加1之后的值作为返回值。
- 自增操作符放在操作数的后面(a++),会把操作数加一之前的值作为返回值。

```
var a=10;
var b=(a++)+(++a);
console.log(a,b); 12 22
```

### 一元减操作符(-)
取操作数的相反数,也可将其他类型的数据转换为数字类型。
### 一元加操作符(+)
取操作数本身,也可将其他类型的数据转换为数字类型。
### typeof操作符
返回值是操作数的类型的名称的字符串。
## 二元操作符
### 算术操作符
`+` `-` `*` `/` `%`

注:算术操作符对操作数的类型无限制,都会转换为数字类型,除了+。

```
console.log(10+20); 30 算术加法操作符
console.log(10+'20') 1020 字符串拼接操作符
```
判断规则:
只要2个操作数中有一个或2个都为字符串,那么+为拼接操作符。
## 逻辑运算符
### 逻辑非运算符(一元) (!操作数)
用法:
- 先求操作数的布尔值
- 返回值为布尔值相反的情况

注:返回值为布尔值
任意类型都可转为布尔值
- 如果为对象-true
- 空字符串-false
- 非空字符串-true
- 数值0-false
- 任意非0数值(包括infinity)-true
- null-false
- undefined-false
- NaN-false
###逻辑与操作符 (&&)

用法:对第一个操作数取布尔值,若布尔值为true,返回值为第2个操作数,若布尔值为false,返回值为第1个操作数。
- 注:返回值可为任意类型数据。

### 逻辑或操作符 (||)
用法:对第一个操作数取布尔值,若布尔值为true,返回值为第1个操作数,若布尔值为false,返回值为第2个操作数。
- 注:返回值可为任意类型数据。

### 短路操作
在与操作符和或操作符中,如果第一个操作数就已经能确定最终返回的结果,那么就不会去计算第二个操作数了。
```
var a=10;
var b=true&&(a++)
console.log(a,b); 11 10
```
```
var a=10;
var b=false &&(a++)
console.log(a,b); 10 false
```

## 关系操作符
小于(`<`)、大于(`>`)、小于等于(`<=`)、大于等于(`>=`)这几个关系操作符用于对两个值进行比较,比较的规则与我们在上数学课上所学的一样。这几个操作符都会返回一个布尔值
## 相等操作符 (返回值为布尔值)
相等操作符(`==`)、不相等操作符(`!=`)、全等操作符(`===`)、不全等操作符(`!==`)
#### 相等和不相等 => 先转换为相同类型再比较
#### 全等和不全等 => 仅比较而不转换类型(优先使用)
## 赋值操作符
简单的赋值操作符由等于号(`=`)表示,起作用就是把右侧的值赋给左侧的变量。

## 条件操作符(三目运算符)
`boolean_expression ? true_value : false_value`

用法:第一个操作数为true,返回值为第二个操作数
第一个操作数为false,返回值为第三个操作数


# 运算符的优先级

| 运算符 | 描述 |
| ---------------------------------------- | -------------------------- |
| `++` `--` `-` `+` `~` `!` `delete` `new` `typeof` `void` | 一元运算符、返回数据类型、对象创建、未定义值 |
| `*` `/` `%` | 乘法、除法、取模 |
| `+` `-` `+` | 加法、减法、字符串连接 |
| `<<` `>>` `>>>` | 移位 |
| `<` `<=` `>` `>=` `instanceof` | 小于、小于等于、大于、大于等于、instanceof |
| `==` `!=` `===` `!==` | 等于、不等于、严格相等、非严格相等 |
| `&&` | 逻辑与 |
|\\\\| 逻辑或 |
| `?:` | 条件 |
| `=` | 赋值、 |
运算赋值

下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。
# 条件语句
JavaScript提供`if`结构和`switch`结构,完成条件判断。
## `if` 结构
语法:
```javascript
if(表达式1){
表达式2;
}
表达式3;
```
**说明**: 若表达式1成立,才会执行表达式2,不成立执行表达式3
## if...else... 语句
语法:
```javascript
if(表达式1) {
表达式2;
} else {
表达式3;
}
表达式4;
```
**说明**: 程序判断表达式1,成立执行表达式2,不成立执行表达式3,再执行表达式4
## if...else if...
```javascript
if(表达式1) {
表达式2;
} else if(表达式3) {
表达式4;
} else if(表达式5) {
表达式6;
} else {
表达式7;
}
表达式8;
```

## switch结构
```javascript
var a = 1;
switch(a) {
case 1 :
console.log(1);
break;
case 2 :
console.log(2);
break;
case 3 :
console.log(3);
break;
default :
console.log("default");
}

转载于:https://www.cnblogs.com/durunci/p/5965593.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 2分钟_java开发中的那些事(5)--------一点经历,败给2分钟的2个小时

特意记下这个经历&#xff0c;这个让我感慨万千又斗志昂扬的一次经历&#xff0c;这是经验&#xff0c;也是生活。故事的始末是这种&#xff0c;先给大家上几句代码&#xff0c;如今身在家中&#xff0c;仅仅能凭记忆敲打几行&#xff0c;大致意思倒不会错&#xff1a;{field:c…

用户登录和注册的功能

<form action"logincheck.php" method"post"> 用户名&#xff1a;<input type"text" name"username" /> <br /> 密码&#xff1a;<input type"password" name"password" /&g…

java cygwin 乱码_windows10乱码怎么解决

如 图组360没有乱码 但字体明显不对字体不正常更明显了第三方浏览器要么乱码 要么根本打不开安装java时也是乱码 要不是我安装过 我根本不知道按钮在哪里eclipse也逃脱不了显示错误的命运(ps:第一行代码 或是说注释)酷狗音乐就更惨了这是cmd命令执行 dir /?时得到的帮助信息 我…

【题目描述】 商店里出售n种花&#xff0c;现打算购买m支花&#xff0c;每种花最多购买1支&#xff0c;询问有多少种购买方案&#xff0c;输出方案数 mod p的值。 【输入描述】 输入三个整数n、m、p。 【输出描述】 输出一个整数&#xff0c;表示答案。 【输入样例】 4 2 5 【输…

java employee list_JSP中List中的$ {employee.id}抛出java.lang.NumberFormat

我有一个JSP页面&#xff0c;当List从下面的方法中显示时&#xff0c;它可以正常工作。RequestMapping(value { "getAllEmployees", "/" })public ModelAndView getAllEmployees() {// logger.info("Getting the all Employees.");List employe…

H5入门-xhtml+css2-第01节

<!-- 声明版本号&#xff0c;DOCTYPE html是html5版本 --><!DOCTYPE html><!-- 声明网页语言 en-英文 zh-中文 zh-cn中文 --><html lang"en"><!-- head 网页头部信息 --><head><!-- 声明网页的编码格式 --><meta chars…

java怎么打增量包_eclipse实现JavaWeb应用增量打包

很多情况下&#xff0c;项目是不允许全量发布的&#xff0c;所以你得把有做修改的文件一个个挑出来&#xff0c;如果有成千上百的文件&#xff0c;你是不是要头大了? 以下方法应该可以让你得到解救!前提是你是用装有svn plugin的eclipse上做开发。第一步&#xff0c;用svn生成…

eclipse调整字体大小

window->preferences->general->appearance->colors and fonts-> 双击Text Font 就调整字体大小了转载于:https://www.cnblogs.com/H-K-Home/p/5973747.html

java 定时器框架_java定时器

java定时器什么是Java定时器&#xff1f;Java 定时器就是在给定的间隔时间执行自己的任务; Java实现定时器有以下几种:通过Timer来实现定时任务Timer 是来自 java.util.Timer指定时间执行任务/*** author spp* date 2020-10-14 09:04**/public class TimerTest {public static …

Flume之核心架构深入解析

我们一起来了解Source、Channel和Sink的全链路过程。 一、Flume架构分析 这个图中核心的组件是&#xff1a; Source&#xff0c;ChannelProcessor&#xff0c;Channel&#xff0c;Sink。他们的关系结构如下&#xff1a; Source {ChannelProcessor {Channel ch1Channel ch2……

java连接cdh集群_有一台电脑需要通过beeline的方式连接到CDHclouderahadoop集群,提示报错。...

有一台电脑需要通过beeline的方式连接到CDHclouderahadoop集群&#xff0c;提示报错。码农的苦恼2020-02-24 10:25:48目前客户端服务器已经开通了3000-60000的端口访问权限&#xff0c;请问还需要开通哪些权限。谢谢&#xff01;17/11/14 09:19:40 WARN conf.HiveConf: DEPRECA…

java中继承applet类_Java - 33 Java Applet基础

Java Applet基础applet是一种Java程序。它一般运行在支持Java的Web浏览器内。因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序。如下所示是独立的Java应用程序和applet程序之间重要的不同&#xff1a;Java中applet类继承了 java.applet.Applet类Applet类没有…

zabbix 自定义探索规则发现服务器上面的kvm虚拟机和对应的网卡

安装完zabbix服务器之后 只有两个探索规则模版&#xff0c;挂载点探索和网卡探索 场景描述&#xff1a;想使用zabbix监控kvm虚拟机的网卡的流量情况&#xff0c; 获取虚拟机和网卡对应关系 虚拟机 S-1 virsh domiflist S-1 # 列出虚拟机的网卡 &#xff08;vnet*&#xff09; …

Cordova(PhoneGap) 环境搭建与基础

Cordova(PhoneGap) 创建步骤&#xff1a;官方Guide 环境准备 安装 Node.jsnodejs.org安装 gitgit-scm.com (bin目录添加到path)安装 cordova 执行命令 npm install -g cordova创建,移除项目 执行命令cordova create CordovaStudy xy.study.cordova CordovaStudy 参数&#xff1…

linux 安装mysql5.7.12_Linux系统上安装mysql5.7.12

在Linux上安装mysql环境&#xff1a;windows7虚拟机&#xff1a;Oracle VMVirtualBoxLinux: ubuntukylin-14.04.1-amd64.isomysql:5.7.12一.环境准备step1:安装虚拟机step2:修改宿主机BIOS配置&#xff0c;详细步骤见文章&#xff1a;http://blog.csdn.net/lanonola/article/de…

Swift泛型Protocol对比C#泛型Interface

本篇纯属抬杠之作&#xff0c;之前我们提到了Swift的泛型Protocol使用associatedtype关键字&#xff0c;而不是使用<Type>语法的泛型参数。这其中有什么好处呢&#xff1f; 我就这个问题搜索了一些回答&#xff0c;大体上提到两点&#xff1a; <Type>语法对Protoco…

【收集】Python 微优化

1. 第二种方式可以节省寻找result的append属性的时间, 但会降低代码可读性和可维护性 # The way were used to seeing it: result.append("hello")# But this works the same: append_result result.append append_result("hello") 2. 将Python内置的方法…

java jstack 工具_java命令之jstack工具

1.总述jstack是jvm虚拟机自带的一种堆栈分析工具&#xff0c;用于打印出给定的java进程或者core file或者远程调试服务的堆栈信息等。主要分为两个功能如下&#xff1a;a.针对活着的进程做本地的或者远程的线程的dumpb.针对core文件做线程dumpjstack命令可以快捷的定位线程出现…

最长公共子序列及其引申问题

最长公共子序列是经典的动态规划问题&#xff0c;在很多书籍和文章中都有介绍&#xff0c;这里对这一经典算法进行回顾并对两个follow up questions进行总结和分析。 1. 回顾LCS&#xff08;longest common subsequence&#xff09;解法&#xff0c;求LCS长度 典型的双序列动态…

mysql导入10g数据库_oracle10g数据库导入、导出(exp/imp、expdp/impdp)

1、oracle 10g 数据导入、导出expimpexpdp建目录与赋权&#xff1a;SQL>create directory dump_dir as /u01/dmdir;SQL>grant read&#xff0c;write on directory to test;SQL>select * from dba_directories;——查看目录实例&#xff1a;1、通过DBLINK的方式&#…