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函数总结—越努力,越幸运!的更多相关文章

  1. 越努力越幸运--动态数组vector

    最近回忆山哥写的stl,觉得很好用,也写了一份. 感谢群里的大佬帮忙review,还是很多的问题的. code:https://github.com/HellsingAshen/vector_c.gi ...

  2. 越努力越幸运--3-日常bug修复

    提供一个so给PYTHON调用,后端发现业务处理流程不是按照方法传入的参数来跑. 查看c的代码,看了客户端没看出什么问题,查看服务端为什么会出现这样的情况,有些字段明显不是入参带过来的,跟踪服务端解析 ...

  3. 越努力越幸运--2-LD_PRELOAD, fork ,僵尸进程

    开始新的工作了,做了爸爸之后感觉一直都是浑浑噩噩,希望老婆和宝宝一直健康开心~ 最近遇到的问题很多啊,哈哈 1. 装环境时候,需要的glibc 版本不对,我把本地的软链接改了个别名(惯性思维),然后一 ...

  4. JavaScript定时器越走越快的问题

    目录 JavaScript定时器越走越快的问题 (setinterval)多次初始化 清除(clearInterval)的失效 解决方法 JavaScript定时器越走越快的问题 之前在项目中写了定时 ...

  5. CEO 系列之一:如何当好创业公司 CEO?(不要用战术的勤奋掩盖战略的懒惰,在创业过程中,最核心问题,就是能把创业情怀变成具体问题。这个问题越具体越好)

    1. 创业公司要先定一个目标,要善于把目标简化, 分解成一个, 一个更具体,更简单的问题2. 针对简单的问题进行聚焦, 做深做强3. 在做的过程中, 把断地推出自己的产品到市场上去试错, 要用事实来证 ...

  6. F# 越用越喜欢

    F# 越用越喜欢 最近由于需要,把遗忘了几年的F#又捡了起来.说捡了起来,倒不如说是从头学习,原来学的早已经忘了!所谓学过,只不过看过一本<F# 语言程序设计> (郑宇军 凌海风 编著 - ...

  7. 为什么Android手机总是越用越慢?

    根据第三方的调研数据显示,有77%的Android手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+卡慢”,也有超过460万条结果.在业内,Android手机一直有着“越用越慢”的口碑 ...

  8. 为啥Android手机总会越用越慢?

    转自:http://www.androidchina.net/818.html 根据第三方的调研数据显示,有77%的Android手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+卡慢 ...

  9. 特征真的越多越好吗?从特征工程角度看“garbage in,garbage out”

    1. 从朴素贝叶斯在医疗诊断中的迷思说起 这个模型最早被应用于医疗诊断,其中,类变量的不同值用于表示患者可能患的不同疾病.证据变量用于表示不同症状.化验结果等.在简单的疾病诊断上,朴素贝叶斯模型确实发 ...

随机推荐

  1. SqlServer2014怎样还原数据库

    场景 在SqlServer2014企业版上怎样进行数据库的还原,首先你得有一个其他数据 的备份文件. 实现 打开cmd,输入sql,打开SqlServer 2014 Management Studio ...

  2. Java中各种引用(Reference)解析

    目录 1,引用类型 2, FinalReference 2.1, Finalizer 3, SoftReference 4, WeakReference 5, PhantomReference 6, ...

  3. JVM性能监视

    1,按照如下图步骤将-XX:PermSize及 -XX:MaxPermSize的值修改到足够小,故意造项目启动报错,我设置为32m.然后保存. 2.在IDE中启动tomcat的同时打开dos窗口,使用 ...

  4. ACM讲课之字符串

    本次讲课讲全面介绍字符串以及如何使用字符串解决具体问题. 一.什么是字符串 1.如何存储字符串 平时我们使用的变量有很多,int代表整型变量,double代表浮点型变量,char代表字符型变量,那么对 ...

  5. MOOC C++笔记(二):类和对象基础

    第二周:类和对象基础 面向对象程序设计的四个基本特点 抽象.封装.继承.多态. 面向对象程序设计的过程 1.从客观事物抽象出类 抽象出的事物带有成员函数与成员变量(类似于带函数的结构体) 成员变量和成 ...

  6. JavaScript之对象Array

    数组Array是JavaScript中最常用的类型之一,同一数组中可以保存任意类型的数据,并且它的长度是动态的,会随着数组中数据的加减自动变化.每个数组都有一个表示其长度(数组元素的个数)的lengt ...

  7. mysql备份脚本并保留7天

    脚本需求: 每天备份mysql数据库,保留7天的脚本. 存放在/opt/dbbak目录中. 脚本名称为database_xxxx-xx-xx.sql 脚本内容: #!/bin/bash export ...

  8. SpringBoot起飞系列-使用idea搭建环境(二)

    一.环境配置 安装idea的教程就不说了,相信大家肯定已经安装好了,另外maven环境肯定也安装好了,那么我们就开始使用idea开发工具来创建一个springboot的web项目,这里奉上一个idea ...

  9. TCP/IP 物理层卷一 -- 基本概念

    一.基本概念: 物理层:TCP/IP 协议簇的最底层,物理层所需要考虑的是如何在连接计算机的传输媒体上传输数据的比特流,而不是连接计算机的具体物理设备. 信号:数据的电气或电磁表现,是数据在传输媒体上 ...

  10. springboot 项目打包部署后设置上传文件访问的绝对路径

    1.设置绝对路径 application.properties的配置 #静态资源对外暴露的访问路径 file.staticAccessPath=/upload/** #文件上传目录(注意Linux和W ...