js基础语法

||与&&

a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回a
a || b : 将a, b转换为Boolean类型, 再执行逻辑或, true返回a, false返回b
转换规则:
对象为true
非零数字为true
非空字符串为true
其他为false

* 几乎所有语言中||和&&都遵循“短路”原理,
* 如&&中第一个表达式为假就不会去处理第二个表达式,而||正好相反。
* js也遵循上述原则。
* 当||时,找到为true的分项就停止处理,并返回该分项的值,否则执行完,并返回最后分项的值。
* 当&&时,找到为false的分项就停止处理,并返回该分项的值。
// var a = "" || null || 3 || 4;//3
// alert(a);
// var b = 4 && 5 && null && "0";//null
// alert(b);

 

RegExp

[\b]      退格符(backspace)

\0        Null字符

\cX      X是A-Z的一个字母。匹配一个控制字符,\cM匹配字符串中的 control-M

[^xyz]  取反,匹配除xyz以外的所有字符

 

^a                   匹配以a开头的字符

s$                   匹配以s结尾的字符

\b                   匹配一个边界单词,如\bno 匹配"at noon"中的"no",ly\b匹配”possibly yesterday"中的"ly"

\B                   匹配一个非边界单词,\Bon匹配“at noon"中的on,  ye\B匹配”possibly ysterday"中的“ye"

\n                   表示分组中左边第n个括号中的表达式,apple(,)\sorange\1 匹配 "apple, orange, cherry, peach." 中的 "apple,orange,"。

(?:x)               匹配x,但不会捕获x,就是这个x不会出现在分组中

x*?或x+?        ?表示非贪婪匹配

x?                   ?表示匹配一次或0次

x(?=y)             匹配x, 只有当x后面紧跟着y时才匹配x

x(?!y)              匹配x,只有当x后面不是y时才匹配x 

js中的正则表达式用/.../[.../]表示一个参数,第二个参数可以为

g                     全局匹配;

i                      忽略大小写;

m                    让^和$可以分别匹配\r,\n;

u                     将第一个参数里的表达式视为unicode

var myRe=/ab*/g;             表示匹配模式为ab*, g为第二个参数,表示全局匹配

var str='abbcdefabh';

使用正则表达式的三种形式

var resul=myRe.exec(str)  #resul为匹配的结果 ,resul[0]为全部匹配的结果,resul[1]为第一个分组的结果。。

myRe.test(str)                      # 返回bool值,检查str是否含符合正则表达式的字符

str.match(myRe)                   #返回结果同exec()

 

字符串方法

str='this is my sting word';

str.replace(‘需要被替换的字串’ 或 ‘字串的正则表达式小括号内的串’ , ‘给定来替换原串的串’)

str.indexOf("?")  返回给定字符第一次出现的位置,未出现则返回-1

str.split('&') 根据给定分割符分割字符串,返回分割后的数组

 

数组方法

创建 :var my_arry=new Arry()   或 var my_arry=[]

遍历: for(var i=0;i<my_arry.length;++i) my_arry[i];

拼接:a=my_arry.join(',');

排序:b=my_arry.sort();

反转:c=my_arry.reverse();

根据索引删除插入元素:d=my_arry.splice(start,deleteCount,val1,val2,..)从start位置起删除deleteCount个元素,并从该位置起插入val1,val2,.. ,返回值为被删除的元素组成的新数组。

数组间连接: d=my_arry.concat(3,4,5) ,返回值为my_arry的值加上【3,4,5】组成的新数组

向数组尾部添加元素:my_arry.push(4) ,返回值为数组的长度

删除数组尾部元素: my_arry.pop() ,返回值为尾部被删除的元素

删除数组头部元素:my_arry.shift() ,返回被删除的元素

添加元素到数组头部:my_arry.ushift(4,5)

 

 

运算符优先级

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

 

 

优先级运算类型关联性运算符
20圆括号n/a( … )
19成员访问从左到右… . …
需计算的成员访问从左到右… [ … ]
new (带参数列表)n/anew … ( … )
函数调用从左到右… ( … )
18new (无参数列表)从右到左new …
17后置递增(运算符在后)n/a
 
… ++
后置递减(运算符在后)… --
16逻辑非从右到左! …
按位非~ …
一元加法+ …
一元减法- …
前置递增++ …
前置递减-- …
typeoftypeof …
voidvoid …
deletedelete …
awaitawait …
15从右到左… ** …
14乘法从左到右
 
… * …
除法… / …
取模… % …
13加法从左到右
 
… + …
减法… - …
12按位左移从左到右… << …
按位右移… >> …
无符号右移… >>> …
11小于从左到右… < …
小于等于… <= …
大于… > …
大于等于… >= …
in… in …
instanceof… instanceof …
10等号从左到右
 
… == …
非等号… != …
全等号… === …
非全等号… !== …
9按位与从左到右… & …
8按位异或从左到右… ^ …
7按位或从左到右… | …
6逻辑与从左到右… && …
5逻辑或从左到右… || …
4条件运算符从右到左… ? … : …
3赋值从右到左… = …
… += …
… -= …
… *= …
… /= …
… %= …
… <<= …
… >>= …
… >>>= …
… &= …
… ^= …
… |= …
2yield从右到左yield …
yield*yield* …
1展开运算符n/a... …
0逗号从左到右… , …

转载于:https://www.cnblogs.com/Ting-light/p/9591135.html

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

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

相关文章

新鬼影病毒

今天和明天是最后两天宿舍有空调的日子啦,暑假宿舍没空调啊,悲催T__T 好吧,今天是最精华的部分啦对于鬼影3的分析,剩下的都是浮云啦,alg.exe不准备分析了,能用OD调试的货.分析起来只是时间问题.但是MBR和之后的保护模式的代码就不一样啦同学们,纯静态分析,伤不起啊,各种硬编码,…

php计算单双,PHP中单双号与变量

例子$string "beautiful";$time "winter";$str This is a $string $time morning!;echo $str. "";eval("\$str \"$str\";");echo $str;?>输出&#xff1a;This is a $string $time morning!This is a beautiful win…

Silverlight:Downloader的使用(event篇)

(1)Downloader的使用首先我们看什么是Downloader,就是一个为描述Silverlight plug-in下载功能的集合.Downloader能异步的通过HTTP GET Request下载内容.他是一个能帮助Silverlight下载内容的一个对象,这些下载内容包括(XMAL content,JavaScript content,ZIP packages,Media,ima…

决策树信息熵计算_决策树熵|熵计算

决策树信息熵计算A decision tree is a very important supervised learning technique. It is basically a classification problem. It is a tree-shaped diagram that is used to represent the course of action. It contains the nodes and leaf nodes. it uses these nod…

多亏了这篇文章,我的开发效率远远领先于我的同事

欢迎大家前往腾讯云社区&#xff0c;获取更多腾讯海量技术实践干货哦~ 本文由独木桥先生发表于云社区专栏 介绍 如果您有从Linux服务器上的源代码安装软件的经验&#xff0c;您可能会遇到make实用程序。该工具主要用于自动编译和构建程序。它允许应用程序的作者轻松地布置构建该…

Free SQLSever 2008的书

Introducing SQL Server 2008 http://csna01.libredigital.com/?urss1q2we6这是一本提供自由使用书&#xff01;我把它翻译&#xff0c;或转送有什么关系&#xff01;这样的书还是有几本吧&#xff0c;Introducing Linq,Introducting Silverlight,都是啊&#xff01;嘿嘿。。。…

流式数据分析_流式大数据分析

流式数据分析The recent years have seen a considerable rise in connected devices such as IoT [1] devices, and streaming sensor data. At present there are billions of IoT devices connected to the internet. While you read this article, terabytes and petabytes…

oracle failover 区别,Oracle DG failover 实战

Oracle dataguardfailover实战操作步骤备库&#xff1a;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP;添加临时文件&#xff0c;删除老的临时文…

Jenkins自动化CI CD流水线之8--流水线自动化发布Java项目

一、前提 插件&#xff1a;Maven Integration plugin 环境&#xff1a; maven、tomcat 用的博客系统代码&#xff1a; git clone https://github.com/b3log/solo.git 远端git服务器&#xff1a; [gitgit repos]$ mkdir -p solo [gitgit repos]$ cd solo/ [gitgit solo]$ git --…

oracle数据泵导入很慢,impdp导入效率的问题

内网从一台服务器A导入到另一台服务器B&#xff0c;38G的数据半个多小时才导了一个表。原来B库上是有数据的&#xff0c;是不是因为TABLE_EXISTS_ACTIONREPLACE 导致速度慢了&#xff1f;parallel8也不知道会不会设高了。SQL> show parameter cpuNAME …

BZOJ2597 WC2007剪刀石头布(费用流)

考虑使非剪刀石头布情况尽量少。设第i个人赢了xi场&#xff0c;那么以i作为赢家的非剪刀石头布情况就为xi(xi-1)/2种。那么使Σxi(xi-1)/2尽量小即可。 考虑网络流。将比赛建成一排点&#xff0c;人建成一排点&#xff0c;每场未确定比赛向比赛双方连边&#xff0c;确定比赛向赢…

数据科学还是计算机科学_数据科学101

数据科学还是计算机科学什么是数据科学&#xff1f; (What is data science?) Well, if you have just woken up from a 10-year coma and have no idea what is data science, don’t worry, there’s still time. Many years ago, statisticians had some pretty good ideas…

开机流程与主引导分区(MBR)

由于操作系统会提供所有的硬件并且提供内核功能&#xff0c;因此我们的计算机就能够认识硬盘内的文件系统&#xff0c;并且进一步读取硬盘内的软件文件与执行该软件来完成各项软件的执行目的 问题是你有没有发现&#xff0c;既然操作系统也是软件&#xff0c;那么我的计算机优势…

肤色检测算法 - 基于二次多项式混合模型的肤色检测。

由于CSDN博客和博客园的编辑方面有不一致的地方&#xff0c;导致文中部分图片错位&#xff0c;为不影响浏览效果&#xff0c;建议点击打开链接。 由于能力有限&#xff0c;算法层面的东西自己去创新的很少&#xff0c;很多都是从现有的论文中学习&#xff0c;然后实践的。 本文…

oracle解析儒略日,利用to_char获取当前日期准确的周数!

总的来说周数的算法有两种&#xff1a;算法一&#xff1a;iw算法&#xff0c;每周为星期一到星期日算一周&#xff0c;且每年的第一个星期一为第一周&#xff0c;就拿2014年来说&#xff0c;2014-01-01是星期三&#xff0c;但还是算为今年的第一周&#xff0c;可以简单的用sql函…

密码机

树状数组1 #include<bits/stdc.h>2 using namespace std;3 int x,y,c[200005];4 char str[20];5 int inline read(){6 int x0,f1;7 char chgetchar();8 while(ch<0||ch>9)9 chgetchar(); 10 while(ch>0&&ch<9){ 11 …

js有默认参数的函数加参数_函数参数:默认,关键字和任意

js有默认参数的函数加参数PYTHON开发人员的提示 (TIPS FOR PYTHON DEVELOPERS) Think that you are writing a function that accepts multiple parameters, and there is often a common value for some of these parameters. For instance, you would like to be able to cal…

sql management studio 附加mdf文件出错的解决办法

将mdf文件所在文件夹的权限改为everyone.&#xff0c;完全控制即可。

oracle raise_application_error,RAISE_ APPLICATION_ ERROR--之异常处理

平时用来测试的异常处理我们都是通过dbms_output.put_line来输出异常信息&#xff0c;但是在实际的应用中&#xff0c;需要把异常信息返回给调用的客户端。其实 RAISE_APPLICATION_ERROR 是将应用程序专有的错误从服务器端转达到客户端应用程序(其他机器上的SQLPLUS或者其他前台…

金融信息交换协议

随着网络的使用&#xff0c;目前所有大型的金融机构都已经实现了自动化和数字化。当中肯定少不了互联网的加入&#xff0c;那么在这当中&#xff0c;我们主要介绍一下FIX协议。它是由国际FIX协会组织提供的一个开放式协议&#xff0c;目的是推动国际贸易电子化的进程&#xff0…