JavaScript函数总结—越努力,越幸运!
JavaScript 函数总结
JavaScript为web的编程脚本语言。
JavaScript由三部分组成:emc(语法) dom(文档对象模型) bom(浏览器对象模型)。
【函数的定义】
1、为了完成、执行代码段。
2、方便维护,有利于优化。
3、可以重复利用。
【引入方法】
1、在body标签底部,是因为计算机是从上往下执行,先执行html和css文件,最后才执行js文件。
<body> <script type="text/javascript" src="js/test.js" charset="utf-8"></script>
</body>
2、在我们需要引入外部,别人的js文件,比如框架,那么就要把它写在head标签中。
<head>
<script type="text/javascript" src="js/test.js" charset="utf-8"></script>
</head>
【声明变量以及命名规则】
1、声明变量的同时并且赋值。
var test='this is a test';
2、声明多个变量赋相同的初始值。
var a=b=c=d=e=1;
3、变量重名会产生覆盖。
a=33; a=1;
4、变量名称严格区分大小写。
var username='king'; var USERNAME='QUEEN';
5、变量名称要含义明确,以字母或者下划线、$符号开始,不能用特殊符号。
var a='bb'; var _test='hello';
6、驼峰标记法。
var firstName='king';//小驼峰 var FirstName='queen';//大驼峰 var first_name='maizi';//下划线法
7、要语义化。
【js中五种基本类型】
数值类型(number)(包括整型、浮点型、number)、
布尔类型(boolean)、
字符串类型(string)、
null、
undefined(未定义的)。
【一种特殊类型】
对象(object)
【五种强制转换类型】
Number(数值)、String(字符串)、Boolean(布尔)、parseInt(整型)、parseFloat(浮点型)
【 隐式转换】
1、其它类型转换成布尔类型
(【返回假】0、空字符串、NaN、undefined)
2、其它类型转换成数值型
(数值型+undefined=NaN 数值型+null=数值 ( boolean:true+2=3 false+2=2))
3、其它类型转换成字符串型
(【拼接字符串】 + )
【运算符与表达式】
算术运算符:+、-、*、/、%(模)
字符串+数值= 弹出(字符串(string))
(注意:字符串型不支持自增自减运算符)
字符串++ 【NaN】
逻辑运算符:
与(&&)
(只要第一个表达式是false,第二个就短路了,整个表达式就是false)
两个表达式中有一个为false,整个结果为false
或(||)
(只要第一个表达式是true,第二个就短路了,整个表达式就是true)
两个表达式中有一个为true,整个结果为true
非(!)
(取反)
三元运算符:
(语法:条件 ? 结果1 : 结果2;)
这里把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2。满足条件时结果1否则结果2。
字符串连接符: +
赋值运算符: =(赋值) ==(判断) ===(全等) += -= *= /= %= !=
比较运算符: > < >= <=
逗号表达式:
void运算符(void不管是什么,都显示未定义)
void弹出类型就是undefined
z=void(n=1,m=2,p=3);
alert(z); //undefined
【流程控制】
| 条件语句 | if else | if(exp){ exp为true的代码段; }else{ exp为false的代码段; } |
|
switch...case (严格比较) |
switch(exp){ case 值1: 执行的代码段; break; case 值2: 执行的代码段; break; ... default: 执行的代码段; break; } |
|
| 循环语句 | for (i++和++i一样) | for(exp1;exp2;exp3){ 循环体; } exp1:无条件的执行第一个表达式 exp2:是判断是否能执行循环体的条件 exp3:做增量的操作 |
|
while while(false)的时候不会输出任何东西 |
while(exp) { 循环体; } |
|
| do while | do{ 循环体; }while(exp); |
|
| 特殊循环控制 | break、return(停止、终止循环) | |
| continue(结束本次循环) |
【函数的命名规范】
1、严格区分大小写。
2、函数名称要注意驼峰式写法,下划线连接。
3、不能包括特殊字符。
4、要语义化。
5、函数名不能覆盖。
6、函数可以有参数,也可以没有,形参和传参要一样。
7、函数通过return返回值,如果没有,默认返回undefined。
【变量作用域】
在函数中:
函数体内(局部变量)
函数体外(全局变量)
【全局变量(公用的)与局部变量】
如果全局变量和局部变量同时声明时(二次赋值),先读取局部变量,局部变量执行力更强。
如果在函数里面重新声明函数外面的全局变量,可以读到它,但是取不到它的值。
【parseInt】
parseInt() 函数可解析一个字符串,并返回一个整数。
parseInt(string, radix)
string:
必需。要被解析的字符串。
radix:
可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。
如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
返回值:返回解析后的数字。
说明:
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
举例:
如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
提示:
只有字符串中的第一个数字会被返回。
开头和结尾的空格是允许的。
如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
【数组】
[获取数组最大值与最小值]
var a=[1,2,3,5];
alert(Math.max.apply(null, a));//最大值
alert(Math.min.apply(null, a));//最小值
【Infinity】
Infinity 【正无穷大】
-Infinity 【负无穷大】
注意:任何数乘以infinity都等于infinity,任何数除以infinity都等于0
未完待续。。。
JavaScript函数总结—越努力,越幸运!的更多相关文章
- 越努力越幸运--动态数组vector
最近回忆山哥写的stl,觉得很好用,也写了一份. 感谢群里的大佬帮忙review,还是很多的问题的. code:https://github.com/HellsingAshen/vector_c.gi ...
- 越努力越幸运--3-日常bug修复
提供一个so给PYTHON调用,后端发现业务处理流程不是按照方法传入的参数来跑. 查看c的代码,看了客户端没看出什么问题,查看服务端为什么会出现这样的情况,有些字段明显不是入参带过来的,跟踪服务端解析 ...
- 越努力越幸运--2-LD_PRELOAD, fork ,僵尸进程
开始新的工作了,做了爸爸之后感觉一直都是浑浑噩噩,希望老婆和宝宝一直健康开心~ 最近遇到的问题很多啊,哈哈 1. 装环境时候,需要的glibc 版本不对,我把本地的软链接改了个别名(惯性思维),然后一 ...
- JavaScript定时器越走越快的问题
目录 JavaScript定时器越走越快的问题 (setinterval)多次初始化 清除(clearInterval)的失效 解决方法 JavaScript定时器越走越快的问题 之前在项目中写了定时 ...
- CEO 系列之一:如何当好创业公司 CEO?(不要用战术的勤奋掩盖战略的懒惰,在创业过程中,最核心问题,就是能把创业情怀变成具体问题。这个问题越具体越好)
1. 创业公司要先定一个目标,要善于把目标简化, 分解成一个, 一个更具体,更简单的问题2. 针对简单的问题进行聚焦, 做深做强3. 在做的过程中, 把断地推出自己的产品到市场上去试错, 要用事实来证 ...
- F# 越用越喜欢
F# 越用越喜欢 最近由于需要,把遗忘了几年的F#又捡了起来.说捡了起来,倒不如说是从头学习,原来学的早已经忘了!所谓学过,只不过看过一本<F# 语言程序设计> (郑宇军 凌海风 编著 - ...
- 为什么Android手机总是越用越慢?
根据第三方的调研数据显示,有77%的Android手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+卡慢”,也有超过460万条结果.在业内,Android手机一直有着“越用越慢”的口碑 ...
- 为啥Android手机总会越用越慢?
转自:http://www.androidchina.net/818.html 根据第三方的调研数据显示,有77%的Android手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+卡慢 ...
- 特征真的越多越好吗?从特征工程角度看“garbage in,garbage out”
1. 从朴素贝叶斯在医疗诊断中的迷思说起 这个模型最早被应用于医疗诊断,其中,类变量的不同值用于表示患者可能患的不同疾病.证据变量用于表示不同症状.化验结果等.在简单的疾病诊断上,朴素贝叶斯模型确实发 ...
随机推荐
- glusterfs详解及kubernetes 搭建heketi-glusterfs
本文包含: gluster各存储卷详解.创建及使用 gluster-kubernetes搭建glusterfs存储 前言 传统的运维中,往往需要管理员手动先在存储集群分配空间,然后才能挂载到应用中去. ...
- Redis集群增加节点和删除节点
本文主要是承接上一篇文章Redis集群的离线安装成功以后,我们如何进行给集群增加新的主从节点(集群扩容)以及如何从集群中删除节点(集群缩容),也就是集群的伸缩,集群伸缩的原理是控制虚拟槽和数据在节点之 ...
- [大数据学习研究] 4. Zookeeper-分布式服务的协同管理神器
本来这一节想写Hadoop的分布式高可用环境的搭建,写到一半,发现还是有必要先介绍一下ZooKeeper这个东西. ZooKeeper理念介绍 ZooKeeper是为分布式应用来提供协同服务的,而且Z ...
- Nginx正确配置Location
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 之前已经讲过Nginx的基本配置,本篇文章主要对Nginx中Location指令的作用进行介绍.本篇文章主要对 ...
- MOOC 数据库系统笔记(二):数据库系统的基本结构及其演变发展
数据库系统的结构抽象与演变 数据库的标准结构 DBMS管理数据的三个层次 1.External Level = User Level 某一用户能够看到与处理的数据,全局数据中的某一部分 2.Conce ...
- Spring Cloud 负载均衡初体验
目录 服务搭建 1.注册中心--Eureka Server 2.服务提供方--Service Provider 3.服务消费方--Service Consumer 服务消费 Feign 与断路器 Hy ...
- 【linux】【Zookeeper】Centos7安装Zookeeper-3.5.5
一 .下载zookeeper wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5 ...
- Spring Cloud Gateway 之请求坑位[微服务IP不同请求会失败]
问题产生背景 在使用Spring Cloud Gateway过程中,希望配置多Routes映射不同的微服务,因为Gateway 和Zuul的访问路径不同(zuul 会带有服务service Id),造 ...
- Python学习笔记整理总结【Memcache & Redis(基础+主从架构)】
一.Memcached1.简介Memcached 是一个高性能的分布式内存对象缓存系统,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性.用来存储 ...
- JAVA多线程线程同步问题
线程同步 在多线程的编程环境下,可能看着没有问题的代码在运行几千上万或者更多次后,出现了一些看着很奇怪的问题,出现这样的问题的原因就是可能会有两个或者更多个线程进入了同一块业务处理代码中导致了判断失效 ...