字符串的各类方法
str.charAt(1); 从第0个开始计算获取第一个子符串,如str=‘你好吗’获取到‘好’
str.charCodeAt(1); 获取对应字符串的编码数字;从第0个开始计算
String.fromCharCode(22937, 21619); 返回对应字符串编码的字符串;以下应该记一下(静态方法)
0~9的编码是48~57
a~z的编码是97~122
A~Z的编码是65~90
str.indexOf('x', 4); 从零开始寻找x得到9 'x'用来确定所选字符串,作为目标,4是可选值从第四个开始找
str.lastIndexOf('o'); 从后往前开始找
'1000' < '2' // true 字符串的比较是比较字符编码大小
'1000' > 2 // true 隐式转换,转化为数字进行比较
str.substr(2,4) 从下表第三开始往后4个字符
str.substring(0, 4); // 截取字符串,从低0的空格到第4个
substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置
以上两个都属于清拷贝,原来的父元素不做修改
str.slice(1,5); // 作用效果与substring相同,但可以使用负数。不会自动比较前后大小值
str.toUpperCase(); // 转化为大写
str.toLowerCase(); // 转化为小写
str.split('.', 2); // 将字符串切割为数组,第一个值写切割的内容(如果选择空,那么将得到长度为一的一整个数组,如果为''那么将会把每个字符切割,第二个值写得到的数组个数,从前往后,后面多余的会被舍弃。
replace(被替换的字符,新的替换用字符)
var arr = [ 'www', baidu', 'com' ];
arr.join('aaa'); // 'www.baidu.com' 与上面的split相互使用,用来把数组连接为字符串。
josn
a={name:'ssasd',neir:555}
使用for (var i in a){
}来进行循环
数组的添加与删除
会改变数组
var arr = [ 1,2,3 ];
alert( arr.push( 'abc' ) ); 向最后添加abc字符串,返回值为数组长度
alert(arr.pop()); 删除最后一个字符串,返回值为被删除的字符串
alert( arr.unshift( 0 ) ); 向开头添加内容,返回数组长度 // IE 6 7 不支持 unshift 返回值
alert(arr.shift()); 删除第一个字符串,返回值为第一个字符串。
arr.splice( 0 , 0, 'aaaaaa')多项功能 第一个为选择位置,第0位,第二个0为删除个数,第三个位添加的内容
返回值为被删除的值
数组去重小例子
var arr = [ 1,2,2,4,2 ];
for ( var i=0; i<arr.length; i++ ) {
for ( var j=i+1; j<arr.length; j++ ) {
if ( arr[i] == arr[j] ) {
arr.splice( j, 1 );
j--;
}
}
}
sort排序方法
arr.sort(); 默认为比较字符编码大小进行排序,能整理字母
会改变原数组,返回本身
数字排序需要加函数
arr2.sort(function( a, b ) {
return a - b;
});
排序带px单位的值
arrWidth.sort(function ( a, b ) {
return parseInt(a) - parseInt(b);
});
随机排序 使用random随机数
arr.sort(function ( a, b ) {
return Math.random() - 0.5;
});
取随机值
var x = 3;
var y = 49;
// alert( Math.round( Math.random()*(y-x) + x ) );
// 0~x
// alert( Math.round( Math.random()*x) );
// 1~x
alert( Math.ceil( Math.random()*x) );向上取整数
合并多个不同的数组,使用concat
arr1.concat( arr2, arr3 )
使字符串倒着输出
arr1.reverse();
时间设置
var myTime = new Date();
var iYear = myTime.getFullYear();
var iMonth = myTime.getMonth()+1;
var iDate = myTime.getDate();
var iWeek = myTime.getDay();
var iHours = myTime.getHours();
var iMin = myTime.getMinutes();
var iSec = myTime.getSeconds();
floor 向下取整
// 天:Math.floor(t/86400)
// 时:Math.floor(t%86400/3600)
// 分:Math.floor(t%86400%3600/60)
// 秒:t%60
var t = Math.floor((iNew - iNow)/1000);
// 毫秒 - 秒
var str = Math.floor(t/86400)+'天'+Math.floor(t%86400/3600)+'时'+Math.floor(t%86400%3600/60)+'分'+t%60+'秒';
各类在if中的真假问题
a是假 var a=0;
b是真 var b='0';
c是假 var c='';
d是假 var d=null;
e是假 var e=undefined;
f是真 var f=[];
g是真 var g={};
h是真 var h=function(){};
ECMAScript:标准、核心
HTML 标签类型:block、inline、inline-block、table……
JS中的数据类型:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
parseInt(num) == parseFloat(num)取整与取余数
isNaN(); // true false
// 判断某些值是不是数字
// 不喜欢数字、讨厌数字
查找id为id的元素
getElementById('id')
找到第x个div
getElementsByTagName('div')[x]
改变对象的clsaa
obj.className='class'
获取元素最终属性值的方法(以下写法解决了大部分兼容性问题)obj为对象,attr是具体属性例如‘width’
function getStyle ( obj, attr ) { return obj.currentStyle?obj.currentStyle[attr] : getComputedStyle( obj )[attr]; }
改变对象多个css属性的写法
oDiv.style.cssText = ' width:200px; height:200px; '
各种判断方法
if(){}else if(){}else if(){}else if(){}else{} 如果内容只有一行允许不加花括号,但是降低了可读性。
switch(x){
如果x等于?
case 1: 执行语句1;
break;跳出,不再执行下面语句
case 2: 执行语句2;
break;
default: 执行语句3;
(如果都不符合那么可以写入default,执行语句3,可以不写)
三元运算,极度简化的判断
例如:x?a:b 如果x成立,那么执行a,否则执行b b可以用void:0代替(说明为空)
使用与&&或||进行简化判断例如
a&&b 如果a成立,那么输出执行或输出b 如果a不成立,直接输出false
a||b 如果a成立,那么输出 true 如果a不成立那么输出b
this的认知
this : 这个
this: 指的是调用 当前 方法(函数)的那个对象
return 返回值
数字、字符串、布尔、函数、对象(元素\[]\{}\null)、未定义
1) 函数名+括号:fn1() ==> return 后面的值;
2) 所有函数默认返回值:未定义;
3) return 后面任何代码都不执行了;
当函数的参数个数无法确定的时候:用 arguments
arguments => [ 1,2,3 ] —— 实参的集合
定时器
var timer = setInterval( 函数, 毫秒 );
clearInterval( timer );
setTimeout()
clearTimeout()
- 3天学习完AngularJS基础内容小结
简介:AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库. 一.AngularJS大致功能模块 二.页面交互变得简单 1.示例:计算价格 <htm ...
- JS基础内容小结(event 鼠标键盘事件)(三)
var ev=ev||event 兼容性处理 得到焦点为 onfocus 失去焦点 onblur return false能阻止部分函数的执行 obj.select 选择指定元素里的文本内容 ———— ...
- JS基础内容小结(DOM&&BOM)(二)
元素.childNodes:只读 属性 子节点列表集合 元素.nodeType:只读 属性 当前元素下的节点类型 元素.attributes : 只读 属性 属性列表集合 元素.children: 只 ...
- 1、js基础内容
js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设 ...
- java SE学习过程中的知识点小结(一)(很多内容过于基础,希望能帮助到学习路上的同学)————欢迎老手批评指正
①.把boolean测试放在括号内:例如while(x==4){} //当然看过很多博客,里面有工作经验的工作者说以后公司可能习惯性写(4==x) ②.所有java程序都定义在类中(也是区别于C++ ...
- VB6 GDI+ 入门教程[5] 基础绘图小结
http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[5] 基础绘图小结 2009 年 6 月 18 日 4条 ...
- node.js(基础四)_express基础
一.前言 本次内容主要包括: 1.express的基本用法 2.express中的静 ...
- 深入理解node.js异步编程:基础篇
###[本文是基础内容,大神请绕道,才疏学浅,难免纰漏,请各位轻喷] ##1. 概述 目前开源社区最火热的技术当属Node.js莫属了,作为使用Javascript为主要开发语言的服务器端编程技术和平 ...
- (数据科学学习手札41)folium基础内容介绍
一.简介 folium是js上著名的地理信息可视化库leaflet.js为Python提供的接口,通过它,我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm ...
随机推荐
- 转:C#常用的集合类型(ArrayList类、Stack类、Queue类、Hashtable类、Sort)
C#常用的集合类型(ArrayList类.Stack类.Queue类.Hashtable类.Sort) .ArrayList类 ArrayList类主要用于对一个数组中的元素进行各种处理.在Array ...
- 配置nginx支持TP框架
TP框架配置中默认URL_MODEL=1,而Nginx默认是不支持PATHINFO的.如果我们只想跑起来tp框架,很简单,只需到更改TP配置,设置URL_MODEL=3(兼容模式).但是如果要让Ngi ...
- EXI6.0的安装(找不到网卡、找不到磁盘)
给一台华为2488 V5 服务器安装EXI6.0服务 (问过华为售后不支持EXI5.5的安装,建议EXI6.0及以上版本) 根据界面提示信息按“Del”.进入BIOS设置界面 参考博客地址:https ...
- div+css ie6图片之间有间隙的问题
图片转换为快级元素就解决了 img{display:block;} 也可设置img属性img{vertical-align:top;}
- MySQL keepalived 双主.md
MySQL keepalived 双主搭建 环境说明 系统 IP 主机名 mysql keepalived VIP CentOS 6.8 192.168.197.61 C6-node1 5.6.36 ...
- Universal-Image-Loader源码分析(二)——载入图片的过程分析
之前的文章,在上面建立完config之后,UIl通过ImageLoader.getInstance().init(config.build());来初始化ImageLoader对象,之后就可以用Ima ...
- linux 的常用命令---------第十阶段
虚拟机三种网络模式 相同模式下的各个虚拟机之间都可以通信----两台虚拟机若都是 nat模式 或 桥接模式 或 仅主机模式,则这两台虚拟机之间是可以通信的. 桥接模式: (配置桥接模式的虚拟机可作为独 ...
- OpenCV——基本图形绘制(椭圆、圆、多边形、直线、矩形)
//绘制椭圆 void DrawEllipse(Mat img, double angle) { ; ; ellipse(img, Point(WINDOW_WIDTH / , WINDOW_WIDT ...
- redis cluster应用连接(password)
application.properties 集群配置 application.properties #各Redis节点信息spring.redis.cluster.nodes=47.96.*.*:6 ...
- 分布式计算(一)Ubuntu搭建Hadoop分布式集群
最近准备接触分布式计算,学习分布式计算的技术栈和架构知识.目前的分布式计算方式大致分为两种:离线计算和实时计算.在大数据全家桶中,离线计算的优秀工具当属Hadoop和Spark,而实时计算的杰出代表非 ...