JS学习随笔

JS组成部分:
          ECMAScript ----- 规范了JS的语法
          DOM(文档)对象 ---- HTML代码,HTML中的每个标签都可以理解成是一个对象
          BOM(浏览器)对象--- 当前解释页面的浏览器
JS常用方法: console.log(object);在浏览器控制台打印Object数据
<a href="javascript:void(0)" οnclick="fun();"> </a>----超链接不跳转,只执行单击事件
与href="#" 的区别:href="#"这种形式会整体刷新页面,而 href="javascript:void(0)" 则不会


undefined和null的区别

Underfined类型只有一个值,即underfined。当声明的变量未初始化时,该变量默认值为underfined。

Null类型只有一个专用值null,表示空,一个占位符。值underfined实际上从值null派生来,因此ECMAScript将他们定义为相等,即null==underfined = true


typeof(var)获得变量的数据类型

undefined---Undefined

boolean---Boolean

number---Number

string---String

object---引用数据类型或Null


引用数据类型操作

对象的创建方式: varobj = new Object();  var obj = {};

给对象添加属性: obj.name= “张三”  obj[“name”]=”张三”;  

obj[1]=”张三”; js会帮你将1转换为字符串形式。

方法: obj.sayHi= function(){}

字面量形式添加属性方法var obj = {name:”张三”,age:18};

json 与字面量唯一的区别 属性名必须是字符串

 

1.1  内置对象-数组对象

所有的数组其实都是数组对象。

内置数组对象的方法

 

var arr =[1,2,3,4,5];

arr.join()

 

1.2  转换为字符串的方法

arr.join() 接受一个字符串,返回一个使用字符串连接的新字符串。

如果不传入的话,默认使用逗号进行连接。

arr.toString() 可以将数组转换为字符串形式

 

1.3  数组的基本操作方法

向数组最后添加一个新项 arr[arr.length] = 100;

arr.push(100);可以向数组最后添加1个或多个新项,会改变原有数组。

push方法有一个返回值,返回新数组的长度(元素个数)。

 

从数组最后删除一个元素

arr.pop() 从数组末尾删除一个元素,同时返回这个元素,改变原数组。

 

从数组前面添加一个元素

arr.unshift()从数组前面添加一个或多个元素,返回新长度,改变原数组

 

从前面删除一个元素

arr.shift() 从数组前面删除一个元素,同时返回这个元素,改变原数组。

 

1.4  操作方法

arr.concat(传入多个参数)   会将传入的参数与arr进行连接

当我们传入数组时,连接后的数组不会直接将传入的数组添加进去,而是拆开后一项一项添加。

concat不改变原数组,而是返回一个新的数组。

数组的复制可以使用concat方法,如果不传参,返回一个相同的数组。

 

arr.slice();可以取出数组中的一部分值,不改变原有数组。

接受两个参数,均为索引值,取出的结果包含start不包含end

 

arr.splice(start,len,item1,item2…)用于截取并(替换)数组中的一部分元素,返回截取到的部分,改变原有数组。

第一个参数为start起始位置的索引,第二个参数是截取的个数(长度),后面的所有参数都是截取后要替换的新值。

1.5  位置方法

arr.indexOf(value,索引)第一个参数是要查找索引的元素值,返回一个元素的索引。

第二个参数是可选的,表示检索的起始位置。

arr.lastIndexOf();

如果查找一个数组中不存在的元素,返回-1

练习:查找数组中所有2的索引

 

1.6  排序方法

arr.reverse() 可以翻转数组中所有元素,返回改变后的数组,改变原有数组

arr.sort(); 排序 对字符串排序的时候,不需要传参,按首字母排序。

对数值排序,有问题。我们可以传参。

return a-b 表示正序排列, return b-a 表示倒序排列

                            arr.sort(function (a, b) {

//            return a - b;

//        });

        arr.sort(function (a, b) {

            return b-a;

        });

 

1.7  清空数组的三种方式

推荐 arr = [];

其次推荐的 arr.length = 0;

不太推荐的arr.splice(0,arr.length);

 

1.8  Date对象的创建方式

var date = newDate();

当我们设置date为某一个特定的时间点时,可以支持三种传参方式

1、         var date = new Date(2011,0,11);注意,月份是从0开始的

2、         var date = newDate("2011-11-11");字符串格式月份是正常的

3、         毫秒形式  1秒=1000毫秒

1.9  转换为毫秒的方式

var date = Date.now();html5添加的,ie9以上浏览器支持

var date= Date.parse(“2015-10-1”);

var date = +newDate();

 

 

1.10    基本包装类型

字符串有长度属性,但是有说只有对象才有属性和方法

实际上在使用字符串的属性或方法时,js会给我们创建一个值相同的基本包装类型对象,再调用这个对象的属性和方法,这个对象再使用完毕后会立刻删除掉.

 

不用bool和number的基本包装对象

数值类型和bool类型的基本包装对象我们一般不使用,因为是对象形式,会对使用造成影响,比如bool,如果是对象,在判断bool的时候,永远为true

 

1.11    字符串的方法

访问字符串的字符

str.charAt(索引值)可以根据索引取出str中的某一个字符

str[索引]  html5添加的,ie9以上支持

charCodeAt(索引) 返回是这个字符的ASCII码,不常用

 

1.12    操作方法

由于基本类型值不可变,所有的字符串方法都不能改变原有字符串。都返回新的字符串。

str.concat() 拼接字符串

str.slice(start,end);从索引start开始取,取到end的前一个字符

str.substring() 同上

str.substr(start,len)从索引start开始,取len这么多个字符

str.split(value);可以根据传入的字符串将str分割为数组“a-b-c”

str.replace(“a”,”b”) 可以将str中的a的部分替换为b,只能替换一次。


定时器:

//定时触发实现
window.setTimeout(start, 3000);
function start() {
	//触发操作
	...	
	//定时关闭			..
	window.setTimeout(close, 3000);
	function close() {
		...
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值