字符串的各类方法
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()

JS基础内容小结(基础)(一)的更多相关文章

  1. 3天学习完AngularJS基础内容小结

    简介:AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库. 一.AngularJS大致功能模块 二.页面交互变得简单 1.示例:计算价格 <htm ...

  2. JS基础内容小结(event 鼠标键盘事件)(三)

    var ev=ev||event 兼容性处理 得到焦点为 onfocus 失去焦点 onblur return false能阻止部分函数的执行 obj.select 选择指定元素里的文本内容 ———— ...

  3. JS基础内容小结(DOM&&BOM)(二)

    元素.childNodes:只读 属性 子节点列表集合 元素.nodeType:只读 属性 当前元素下的节点类型 元素.attributes : 只读 属性 属性列表集合 元素.children: 只 ...

  4. 1、js基础内容

    js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设 ...

  5. java SE学习过程中的知识点小结(一)(很多内容过于基础,希望能帮助到学习路上的同学)————欢迎老手批评指正

    ①.把boolean测试放在括号内:例如while(x==4){}  //当然看过很多博客,里面有工作经验的工作者说以后公司可能习惯性写(4==x) ②.所有java程序都定义在类中(也是区别于C++ ...

  6. VB6 GDI+ 入门教程[5] 基础绘图小结

    http://vistaswx.com/blog/article/category/tutorial/page/2 VB6 GDI+ 入门教程[5] 基础绘图小结 2009 年 6 月 18 日 4条 ...

  7. node.js(基础四)_express基础

    一.前言                                                           本次内容主要包括: 1.express的基本用法 2.express中的静 ...

  8. 深入理解node.js异步编程:基础篇

    ###[本文是基础内容,大神请绕道,才疏学浅,难免纰漏,请各位轻喷] ##1. 概述 目前开源社区最火热的技术当属Node.js莫属了,作为使用Javascript为主要开发语言的服务器端编程技术和平 ...

  9. (数据科学学习手札41)folium基础内容介绍

    一.简介 folium是js上著名的地理信息可视化库leaflet.js为Python提供的接口,通过它,我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm ...

随机推荐

  1. ubuntu下配置时间同步NTP

    1参考文献: 1.鸟哥的Linux私房菜:第十五章.时间服务器: NTP 服务器(强烈建议看完) 2.http://www.crsay.com/wiki/wiki.php/server/centos/ ...

  2. Netstat Commands for Linux Network Management

    netstat (network statistics) is a command line tool for monitoring network connections both incoming ...

  3. cut切割,简单的取列

    cut 切割,简单的取列命令. -d 指定分隔符 -f 数字 取第几列 -c n-m 取n列到m列字符. //提取字符,不常用 例如:已知bqh.txt文件里的内容为“I am bqh myqq is ...

  4. Grafana3.0.1+Zabbix3.0.4监控系统平台搭建

    前言 本文的Zabbix部分知识只介绍它的基础安装,Zabbix的使用以及配置优化并不在本文的介绍范围之内. 本文只介绍在CentOS6系列下的安装和部署,其他发行版与其他版本号暂不涉及 本文默认使用 ...

  5. 【转】给网站添加X-UA-Compatible标签

    X-UA-Compatible是神马? X-UA-Compatible是IE8的一个专有<meta>属性,它告诉IE8采用何种IE版本去渲染网页,在html的<head>标签中 ...

  6. kubernetes备份和恢复

    kubernetes备份和恢复   备份etcd数据 首先由于ETCD有三个备份,并且会同步,所以您只需要在一台master机器上执行ETCD备份即可. 另外在运行下列命令前,确保当前机器的kube- ...

  7. 6、JVM--类文件结构(上)

    6.1.概述 写的程序需要经编译器翻译成由0和1构成的二进制格式才能由计算机执行 6.2.无关性基石 Java在刚刚诞生之时曾经提出过一个非常著名的宣传口号:“一次编写,到处运行(Write Once ...

  8. hadoop学习通过虚拟机安装hadoop完全分布式集群

    要想深入的学习hadoop数据分析技术,首要的任务是必须要将hadoop集群环境搭建起来,可以将hadoop简化地想象成一个小软件,通过在各个物理节点上安装这个小软件,然后将其运行起来,就是一个had ...

  9. Qt5中运行后台网络读取线程与主UI线程互交

    项目中有一个需求就是,因为需要请求服务端数据,因为网络的读取会阻塞,所以该过程不能放在Qt中的UI主线程当中,需要用一个后台线程来读取数据,数据准备完毕后 在通过Qt5中的信号槽机制来跨线程的传递数据 ...

  10. OpenCV——漫水填充