您的位置:首页 > Web前端 > JavaScript

小红书学习——JS(不定时更新)

2017-06-19 11:00 190 查看

JS

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

这条语句:

function func(){
carname="Volvo";
}


将声明一个全局变量 carname,即使它在函数内执行。

DOM事件

拖动事件:

在拖动对象范围上的触发事件描述
ondragstart开始拖动时触发
ondrag正在拖动时触发
ondragend完成拖动时触发
在释放目标范围上的触发事件描述
ondragenter拖动对象进入目标容器范围内触发
ondragover拖动对象在目标容器范围内拖动触发
ondragleave拖动对象离开目标容器
ondrop释放鼠标键时触发
3. 字符串

不要创建String 对象,会拖慢执行速度
var x = new String('dasda')


属性:prototype(允许向对象添加属性和方法)、length(返回字符串长度)、constructor(返回创建字符串属性的函数)

正则表达式

方法

search()搜索匹配子串并返回起始位置

replace()替换匹配子串

match()检查是否符合正则表达式

/正则表达式/.exec(str),返回匹配结果的数组

表达式: / 正则表达式主体 / 修饰符(可选)

修饰符i(对大小写不敏感)、g(查看所有匹配,而非找到第一个匹配后停止)、m(执行多行匹配)

表达式模式

查找某范围内的字符:

[abs]:查找方括号内的任何字符

[0-9]:查找任何0~9的数字

(x|y):查找匹配任何以|分隔的选项的内容

元字符

\d:查找数字

\s:查找空白字符

\b:匹配单词边界

\uxxx:查找十六进制数字xxx规定的Unicode字符

量词

n+:匹配任何包含至少一个n的字符串

n*:匹配包含0个或多个n的字符串

n?:匹配任何包含0个或1个n的字符串

变量提升

函数和变量的声明都会提升到函数的最顶部

变量可以先使用,再声明

变量的初始化不能被提升
var x = 5


JS的严格模式

在头部加上“use strict”,是ES5的内容

不允许使用未声明的变量

不允许删除对象/变量
var x = 3; "use strict";delete x;


不允许删除函数

不允许变量重名

不允许用转义符
\


不允许
this
指向全局对象

JS误区

数组不能用名字作为索引

javascript

var arr = [];

arr["aaa"] = "AAA";

arr["bbb"] = "BBB";

alert(arr.length);    // 输出0

alert(arr[0]);        // 输出undefined


上面的数组被重定义为对象,只能用对象的方法来访问

javascript

for (var i in arr){

alert(i);       // 输出每个arr的属性名

alert(arr[i]);  // 输出每个arr的属性值

}


JS表单

获取表单某字段的值:
document.forms["myForms"]["inputName"].value


JSON

JS对象

javascript

var person = {

firstName:"John",

lastName:"Doe",

age:50,

eyeColor:"blue"

};


JSON数组:下面包括了三个对象

javascript

var text = {"person:[

{"firstName":"John","lastName":"Doe"},                          {"firstName":"John1","lastName":"Doe1"},

{"firstName":"John2","lastName":"Doe2"}

]};


JSON字符串(这里将JSON数组用’ ’括起来,变成字符串)转对象

javascript

var text = '{ "sites" : [' +

'{ "name":"Runoob" , "url":"www.runoob.com" },' +

'{ "name":"Google" , "url":"www.google.com" },' +

'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';

// 转对象

var obj = JSON.parse(text);

// 用对象的方法把JSON中的值取出来

alert(obj.sites[0].name);


javascript:void(0)可以定义死链接,放在a的href中

JS函数

自调用函数:

javascript

(function(){

...

})();


Arguments对象

JS函数都有内置的函数对象Arguments,可以获取传入函数的参数数组

“`javascript

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {

alert(arguments[0]);// 输出1

return arguments[2];// 返回500

}

“`

函数调用

this关键字:指向函数执行的当前对象

可以通过call或者apply来设置this的值

闭包:解决“若用全局变量,则所有脚本不通过调用函数,都可以改变该变量,不好”

是的函数拥有私有变量便变成可能

javascript

var name = "The Window";

var forEach = function(){

name:"The Obj",

getName:function(){

return function(){

return this.name;

};

}

}


JS HTML DOM

如需改变 HTML 元素的属性,请使用这个语法:

document.getElementById(id).attribute=新属性值

如需改变 HTML 元素的样式,请使用这个语法:

document.getElementById(id).style.property=新样式









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html 小红书 JS