1     JS基础(超级简单)

1.1 数据类型

1.1.1   基本类型:

1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法

2)        string

3)        boolean

4)        null

5)        undefined

1.1.2   复杂类型

object:date,array,function

1.2 变量

var 变量名=值

变量的作用域:1.全局:以页面为单位。2局部:以函数为单位。

1.3 typeof

作用:检测变量的类型typeof(变量)或typeof 变量

1.4 数据类型间的转化

1.4.1   转number

隐式:算数运算符:+ - * /

显式:number()parseInt()、parseFloat()

1.4.2   转string

隐式:+“”

显式:.toString(),String()

1.4.3   转boolean

隐式:!!a

显式:boolean()

1.5 JS的特点

1)        弱类型: var 变量名,所有变量的声明都使用var关键字,不必去分数据类型

2)        动态:可以动态添加变量到数组,对象中,也可以动态删除,也就是说可以改变数组长度,对象的属性。

3)        脚本语言:边编译、边执行

1.6 语言结构

顺序结构

条件结构:If        if-else

分支结构:if-else-if            switch case

循环结构:While         do while         for

1.7 书写

<script src="位置"></script>或者<script></script>

1.8 函数

function 函数名(参数列表){函数体}

return: return 参数;返回对应的参数;到此以后,立即返回,后面代码,不再执行;未写或后面没有参数,返回undefined;想要返回多个值:使用数组或对象;

注意:javascript里面的函数没有重载(同名不同参)

1.8.1   预解析

Javascript运行的时候,会将参数/函数声明及具体参数,放到最前面。

1.8.2   匿名函数

function(参数列表){函数体}

一般用于:捆绑事件。

1.8.3   函数表达式

var 变量名=function(参数列表){函数体}

调用:函数名()

输出整个函数内容(包括函数声明和函数体):使用函数名,

1.8.4   自执行函数

(function(){函数体})();或者(function(){函数体}());

一般用于:一次性执行;优点:避免函数重名。

1.8.5   回调函数

将函数作为参数

函数名(实参,函数1(形参){函数体});

1.9 内置对象

1.9.1   Math

Math.floor():向下取整

Math.ceil():向上取整

Math.round():四舍五入

Math.random():0-1随机数

Math.abs():绝对值

Math.pow(a,b):a的b次幂

Math.max(a,b):取最大值

Math.min(a,b):取最小值

1.9.2   Array

输出字符串

toString():.toString=0;数组清空

valueOf();:返回本身

slice(a,b):获取索引a<=内容<b

reverse();:反转数组内容

sort(function(a,b){return a-b});:排序根据回调函数返回值,负值不变,正值交换位置。此为升序

indexOf(a,b);:获取a的索引,从b开始查找

lastIndexOf(a,b);:向前查找a的索引,从b位开始查找

join(a);:用a元素组合为字符串,原数组不变

push(a):追加元素a,

concat(a):追加数组a到尾部

pop():删除最后一个

shift():向左移动

unshift(a):向右移动,用a填充

splice(a,[b],[c]):获取索引a以后b个内容,将其替换为c. splice(0,arr.lenght)清空数组

filter(function(item,index,arr){if(item>200)return true;}):过滤,回调函数三个参数分别代表:值,索引,整个数组。返回true的留下,false过滤掉。

forEach(function(){}):遍历数组,回调函数的三个参数同上,

1.9.3   Date

转换为date对象

var date=new Date(y,m,d); y年(m+1)月d日

var date=Date.parse("y-m-d");

var date=new Date("y-m-d");

获取毫秒:

var date=Date.now();

var date=+new Date();

new Date().toString();

new Date().valueOf();

获取部分

.getFullYear();

.getMonth();

.getDate();'几号

.getDay();星期几

.getHours();

.getMinutes();

.getSecends();

.getMilliseconds();

.getTime();至此的毫秒数;

1.9.4   String

获取索引

indexOf(a,b);获取a的索引,从b开始查找

lastIndexOf(a,b);向前查找a的索引,从b位开始查找

获取字符

.charAt(a);输出索引为a的字符

.charCodeAt(a);输出索引为a的字符的ascll码

去除前后空格

.trim();

转换大小写

to(Locale)UpperCase();

to(Locale)LowerCase();

其他操作

.concat();连接

slice(a,b):获取a<=内容<b

.substring(a,b);:获取a<=内容<b;和上面一样

.substr(a,b);:获取a后面b个内容

.replace(a,b);:将a换为b;

split(a,b);:使用a分割字符串,返回数组,获取前面b个

1.10      自定义对象

1.10.1            通过构造函数1

var 对象名=new Object();

对象名.属性=值;

对象名.方法=function(参数列表){方法体};

使用

对象名.属性;

对象名.方法(参数);

1.10.2            通过构造函数2

function 构造函数名(参数列表){

var 对象名=new Object();

对象.属性=值;

对象.方法=function(参数列表){

方法体;

};

return 对象;

}

使用

var 对象=构造函数名(参数);

对象名.属性;

对象名.方法(参数);

1.10.3            通过构造函数3

function 函数名(参数列表){

this.属性=值;

this.方法名=function(参数列表){

方法体;

};

}

使用

var 对象=new 构造函数名(参数);

对象名.属性;

对象名.方法(参数);

1.10.4            通过对象字面量

var 对象名={

属性:值,

方法名:function(参数列表){

方法体;

}

}

使用

对象名.属性;

对象名.方法(参数);

注意点

属性之间使用逗号分隔

1.10.5            JSON

键值对

var 对象名={

“属性”:值,

“方法名”:function(参数列表){}

}

使用:

对象名.属性;

对象名.方法(参数);

注意点:和对象字面量的区别就是属性名需要使用引号

JS基础(超级简单)的更多相关文章

  1. js基础 1.简单js 语法 关键字 保留字 变量

    简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript ...

  2. (转)用JS获取地址栏参数的方法(超级简单)

    转自http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html 用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获 ...

  3. Notyf - 超级简单、响应式的 JS 通知插件

    通知是网站的常用功能之一,可以用来显示消息.通告.提示等等.Notyf 是一款超级简单.响应式的 JS 通知插件,不依赖 jQuery 库,可以独立使用.赶紧试用一下吧! 在线演示      免费下载 ...

  4. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  5. js基础练习一之tab选项卡

    最近在学习前端,当然包括js,css,html什么的,在听课时做的一些小练习,记录下来: 实例一: --Tab选项卡-- <script type="text/javascript&q ...

  6. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  7. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

  8. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

  9. Web3D编程入门总结——WebGL与Three.js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

随机推荐

  1. Ubuntu .deb包安装方法

    使用apt-get方法安装的软件,所有下载的deb包都缓存到了/var/cache/apt/archives目录下了,所以可以把常用的deb包备份出来,甚至做成ISO工具包.刻盘,以后安装Ubuntu ...

  2. Latex环境安装

    安装latex环境 sudo apt-get install texlive-full 推荐使用texstudio编辑器,简单方便高效靠谱 sudo apt-get install texstudio ...

  3. Hadoop 简介

    一个开源的,高可靠,可扩展的分布式计算框架 解决的问题 1 海量数据的存储(HDFS) 2海量数据的分析(Mapreduce) 3 分布式资源调度 (Yarn) 应用场景 日志分析,基于海量数据的在线 ...

  4. 安装rabbitMQ delayed-messaged

    由于一些原因,消息需要延迟发送给消费者,可以用delayed-messaged插件 在 /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/plugins目录下 # ...

  5. 使用注解方式生成Hibernate映射文件

    @Entity:表示是一个hibernate的实体类 @Table:表示实体类和表的对应关系 @Id:表示是数据库中的主键 @Column:在数据表中描述的对应的列的信息 属性名是根据get方法,数据 ...

  6. OpenCV2+入门系列(三):遍历图像的几种方法

    根据OpenCV中Mat类型的结构和内存中存储方式,此处给出三种对图像进行遍历的方法.首先给出基础的读取图片代码,在中间替换三种遍历方法即可,本文中,程序将遍历图像并将所有像素点置为255,所有运行结 ...

  7. Linux进程间通信

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们在Linux信号基础中已经说明,信号可以看作一种粗糙的进程间通信(IPC, i ...

  8. Ubuntu 12.04 Virtualbox 启用USB 设备支持

    转载自:http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.html 具体步骤在上面的链接中 今天在ubuntu下安装了Virtualb ...

  9. 最详细的Log4j使用教程

    日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...

  10. Sa yo na ra

    总想记点些什么. 都快忘了当初是为什么来到这里呢... 2014年10月,友人给我介绍了一门编程竞赛ACM,并给我演示了一下A+B.于是我知道了ACM的含义. 2014年12月,开始水入门题. 201 ...