JS基础(超级简单)
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基础(超级简单)的更多相关文章
- js基础 1.简单js 语法 关键字 保留字 变量
简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript ...
- (转)用JS获取地址栏参数的方法(超级简单)
转自http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html 用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获 ...
- Notyf - 超级简单、响应式的 JS 通知插件
通知是网站的常用功能之一,可以用来显示消息.通告.提示等等.Notyf 是一款超级简单.响应式的 JS 通知插件,不依赖 jQuery 库,可以独立使用.赶紧试用一下吧! 在线演示 免费下载 ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
- js基础练习一之tab选项卡
最近在学习前端,当然包括js,css,html什么的,在听课时做的一些小练习,记录下来: 实例一: --Tab选项卡-- <script type="text/javascript&q ...
- Node.js基础与实战
Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...
- js基础到精通全面教程--JS教程
适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- Web3D编程入门总结——WebGL与Three.js基础介绍
/*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...
随机推荐
- 27-React Lists and Keys
Lists and Keys React支持以数组的形式来渲染多个组件,它会将你数组中的每个组件以列表的形式渲染开来. 当你使用数组的方式来渲染你的组件时,你需要给每个组件一个Key值,否则会出现一个 ...
- 复旦大学2015--2016学年第二学期(15级)高等代数II期末考试第六大题解答
六.(本题10分) 设 $n$ 阶复方阵 $A$ 的特征多项式为 $f(\lambda)$, 复系数多项式 $g(\lambda)$ 满足 $(f(g(\lambda)),g'(\lambda))= ...
- 全球IP分布表
24.192.0.0 24.195.255.255 亚洲 61.0.0.0 61.255.255.255 亚洲 61.8.0.0 61.8.31.255 澳大利亚 61.128.0.0 61.143. ...
- Json解析实例
using System; using System.Collections.Generic; using System.Runtime.Serialization; using System.Win ...
- cygwin安装
我安装的是cygwin2.5.2,相关下载:https://cygwin.com/setup-x86_64.exe 先安装cygwin,x86_64版本,安装时选择库(gcc-core.gcc-c++ ...
- IBM X3850 Windows 无法安装到这个磁盘。选中的磁盘具有MBR分区表。在 EFI 系统上,Windows 只能安装到 GPT 磁盘
以前安装的是window2003 32位, 改装为2012 64位的时候.出现 Windows 无法安装到这个磁盘.选中的磁盘具有MBR分区表.在 EFI 系统上,Windows 只能安装到 GPT ...
- 6.Swift协议|扩展|访问权限|异常调试|类型转换|运算函数|ARC|类类型初试化器|值类型初始化器
1. 协议(Protocol):与OC之间唯一不同的是Swift中的协议不管是属性还时方法全部是必须实现的 /** protocol*/ protocol FullNamed { /** 计算属性申明 ...
- 企业办公3D指纹考勤系统解决方案
员工准时.正常出勤是企业考勤制度的基本要求,然而目前签名式.卡钟式.IC卡考勤系统均存在代打卡.人情卡.不易统计等漏洞,而市面上的光学指纹考勤机存在识别能力差.识别速度慢.使用寿命短.不能完全杜绝指纹 ...
- 服务器CGI运行机制
CGI概括: 定义 通用网关接口(Common Gateway Interface)是HTTP服务器与你的或其它机器上的程序进行"交谈"的一种工具,其程序须运行在网络服务器上. 功 ...
- Nginx
Nginx的常识 1.nginx三大功能:(百万级别繁忙服务器占有率) 1)web服务器 轻量级,处理的并发量更大. 2)反向代理服务器 通过将用户端的请求,透明的转送给应用服务器.这样所 有的客户端 ...