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

JavaScript知识点归纳之教程(二)

2017-02-28 14:37 429 查看
一、JavaScript作用域

在JavaScript中,作用域可作为访问变量、对象、函数的集合。

JavaScript函数作用域:作用域在函数内修改。

全局变量是window变量:

//这样显示
document.getElementById("demo").innerHTML = carName;
//和这样显示
document.getElementById("demo").innerHTML = window.carName;
二、事件

1.修改id元素里面展示的内容

<p id="demo">我这里展示时间</p>
<button onclick="getElementById('demo').innerHTML=Date()">点击展示时间</button>





2.直接在控件上展示内容

<button onclick="this.innerHTML=Date()">在这里展示时间</button>





3.通过事件函数改变id元素里面内容

<p id="demo"></p>
<button onclick="showDate()">事件函数</button>
<script>
function showDate(){
document.getElementById("demo").innerHTML=Date();
}
</script>





4.常见的HTML事件

onchangeHTML元素改变
onclick 用户点击HTML元素
onmouseover用户在一个HTML元素上移动鼠标
onmouseout用户从一个HTML元素上移开鼠标
onkeydown用户按下键盘按键
onload浏览器已完成页面的加载
三、字符串
1.可以使用索引位置来访问字符串中每一个字符。索引从0开始。

2.字符串长度可以用内置属性length来计算字符串的长度

<script>
var spa = "helloworld"
document.write(spa.length);
</script>



3.使用使用(\)反斜杠来进行转义

\'单引号
\"双引号
\\反斜杠
\n换行
\r回车
\ttab(制表符)
\b退格符
\f换页符
4.===是绝对相等,意思是数据类型与值必须都相等。

<p id="demo"></p>
<script>
var x = "John";              // x 是字符串
var y = new String("John");  // y 是一个对象
document.getElementById("demo").innerHTML = x===y;
</script>



5.字符串属性

constructor返回创建字符串
length返回字符串长度
prototype运行您向对象添加属性和方法
6.字符串方法

方法描述
charAt()返回指定索引位置的字符
charCodeAt()返回指定索引位置字符的 Unicode 值
concat()连接两个或多个字符串,返回连接后的字符串
fromCharCode()将 Unicode 转换为字符串
indexOf()返回字符串中检索指定字符第一次出现的位置
lastIndexOf()返回字符串中检索指定字符最后一次出现的位置
localeCompare()用本地特定的顺序来比较两个字符串
match()找到一个或多个正则表达式的匹配
replace()替换与正则表达式匹配的子串
search()检索与正则表达式相匹配的值
slice()提取字符串的片断,并在新的字符串中返回被提取的部分
split()把字符串分割为子字符串数组
substr()从起始索引号提取字符串中指定数目的字符
substring()提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()把字符串转换为小写
toString()返回字符串对象值
toUpperCase()把字符串转换为大写
trim()移除字符串首尾空白
valueOf()返回某个字符串对象的原始值
四、运算符

1.算术运算符

(1)自增

x++和++x

如果单纯执行++y和y++其结果都是一样的,都等价于 y=y+1;如果联合别的语句就不一样的 如x=++y 和 x=y++是不一样的

x=++y等价于 先执行 y=y+1 然后执行 x=y

x=y++ 等价于 先执行 x=y然后执行 y=y+1

(自创口诀:x=++y是先加后等于,x=y++是先等于后加)

<button onclick="demoFunction1()">x=y++</button>
<p id="demo1"></p>
<script>
function demoFunction1()
{
var y1=5;
var x1=y1++;
var demoP=document.getElementById("demo1")
demoP.innerHTML="x1=" + x1 + ", y1=" + y1;
}
</script>

<button onclick="demoFunction2()">x=++y</button>
<p id="demo2"></p>
<script>
function demoFunction2()
{
var y2=5;
var x2=++y2;
var demoP=document.getElementById("demo2")
demoP.innerHTML="x2=" + x2 + ", y2=" + y2;
}
</script>



(2)自减

(自创口诀:x=--y是先减后等于,x=y--是先等于后减)

<button onclick="demoFunction1()">x=y--</button>
<p id="demo1"></p>
<script>
function demoFunction1()
{
var y1=5;
var x1=y1--;
var demoP=document.getElementById("demo1")
demoP.innerHTML="x1=" + x1 + ", y1=" + y1;
}
</script>

<button onclick="demoFunction2()">x=--y</button>
<p id="demo2"></p>
<script>
function demoFunction2()
{
var y2=5;
var x2=--y2;
var demoP=document.getElementById("demo2")
demoP.innerHTML="x2=" + x2 + ", y2=" + y2;
}
</script>



2.赋值运算符

+=先加后等于
-=先减后等于
*=先乘后等于
/=先除以后等于
%=这里有点搞不清楚
http://www.runoob.com/try/try.php?filename=tryjs_oper_modequal
3.加法运算
两个数字相加,返回数字相加的和。

一个数字和一个字符串相加,返回字符串。

<button onclick="myFunction()">点击这里</button>
<p id="demo"></p>
<script>
function myFunction()
{
var x=5+5;
var y="5"+5;
var z="Hello"+5;
var demoP=document.getElementById("demo");
demoP.innerHTML=x + "<br>" + y + "<br>" + z;
}
</script>



五、比较或逻辑运算符

!=不等于
!==不绝对等于
六、if....else if...else

if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}

七、循环
for循环一定次数
for/in循环遍历对象的属性
while当指定条件为true时循环指定代码块
do/while当指定条件为true是循环指定代码块
八、将数字、布尔值、日期转换为字符串
(1)使用String()方法,例如

String(123);

(2)使用toString()方法,例如

(123).toString();

九、将字符串、布尔值转换为数字

Number("99");

Number(false);//返回0

如果变量不能转换,它仍然会是一个数字,但值为NaN(不是一个数字)

十、JavaScript正则表达式

1.字符串方法

(1)使用search()方法:用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并且返回子串的起始位置。

<button onclick="myFunction()">点我</button>
<p id="demo"></p>
<script>
function myFunction() {
var str = "Hello World!";
var n = str.search(/w/i);
document.getElementById("demo").innerHTML = n;
}
</script>


(2)replace()方法:用于在字符串中用一些字符串替换另一些字符,或替换一个与正则表达式匹配的子串。

<button onclick="myFunction()">点我</button>
<p id="demo">请访问Hello!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
var txt = str.replace(/hello/i,"world");
document.getElementById("demo").innerHTML = txt;
}
</script>



(3)正则表达式修饰符

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。
(4)正则表达式模式,方括号用于查找某个范围内字符

表达式描述
[abc]查找方括号之间的任何字符。
[0-9]查找任何从 0 至 9 的数字。
(x|y)查找任何以 | 分隔的选项。
元字符是拥有特殊含义的字符:
元字符描述
\d查找数字。
\s查找空白字符。
\b匹配单词边界。
\uxxxx查找以十六进制数 xxxx 规定的 Unicode 字符。
量词:
量词描述
n+匹配任何包含至少一个 n 的字符串。
n*匹配任何包含零个或多个 n 的字符串。
n?匹配任何包含零个或一个 n 的字符串。
(3)使用test()方法,用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回true,否则返回false
<script>
var patt1=new RegExp("e");
document.write(patt1.test("Hello World"));
</script>

(4)使用exec()方法,用于检索方法字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配结果,如果未找到匹配,则返回null

<script>
var patt1=new RegExp("e");
document.write(patt1.exec("wolrd"));
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: