日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Javascript一(变量,数据类型,正则表达式,数据,语句)

發(fā)布時間:2025/4/16 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Javascript一(变量,数据类型,正则表达式,数据,语句) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文章適合具有一定程序編程語言基礎的人士閱讀,最好學完Java基礎再來閱讀本文章更容易理解語言初學者會看起來比較費勁,不易理解

一.導入腳本

在html導入Javascript的格式是:

<script src="test.js" type="text/javascript"></script>

兩個關鍵屬性:deter,async

? ? deter:defer屬性告訴瀏覽器要等整個頁面載入以后、解析完畢才執(zhí)行該<script.../>中的腳本。

?? async:指定async屬性的的<script.../>的腳本會啟動新的線程,異步執(zhí)行<script.../>導入的腳本文件

?? 語法格式如下:

<script src="test.js" type="text/javascript" defer async></script>

二.數(shù)據(jù)類型和變量

隱式定義:直接給變量賦值

顯示定義:使用var關鍵字定義變量。顯式聲明變量時,變量沒有初始值,聲明變量的數(shù)據(jù)類型也不確定,當?shù)谝淮谓o變量賦值時,數(shù)據(jù)類型才確定下來。

變量的作用域:

? 全局變量:在全局范圍(不在函數(shù)內)定義的變量(不管是否使用var),不是用var定義的變量都是全局變量,全局變量可以被所有的腳本訪問。

?局部變量:在函數(shù)里定義,只在函數(shù)里有效

實例代碼:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>事件處理中全局變量和局部變量</title><script type="text/javascript">var x="全局變量";</script> </head> <body> <input type="button" value="局部變量" onclick="var x = '局部變量'; alert('輸出x變量的值 '+x);"/> <input type="button" value="全局變量" onclick="alert('輸出x全局變量的值 '+x)"/> </body> </html>

javascript的變量提升機制:所謂變量提升就是不管被不被執(zhí)行,變量聲明總是會被解釋器提升到函數(shù)體頂部。

使用let變量和使用const定義常量

? 使用let定義的全局變量不會變成window對象的屬性,也不會出現(xiàn)變量提升的情況,彌補了var的缺陷

? 使用const定義的常量只能在定義時初始化。使用const定義常量以后不允許改變常量值。

? ? ?? 基本數(shù)據(jù)類型

? ? ? 數(shù)值類型:包括整型和浮點數(shù),支持科學記數(shù)法

? ?? 布爾類型:只有true和false兩個值

? ?? 字符串類型:字符串類型必須用雙引號或單引號引起來

? ?? undefined類型:專門用來確定一個已經(jīng)創(chuàng)建但是沒有初值的變量

? ?? null類型:表示某個變量的值為空,很多時候,undefined和null相等

三.正則表達式

?

新建正則表達式

方式一:直接量語法

var reg = /pattern/attributes

方式二:創(chuàng)建 RegExp 對象的語法

?var reg = new RegExp(pattern, attributes);

參數(shù)說明:

參數(shù) pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。
參數(shù) attributes 是一個可選的字符串,包含屬性 “g”、”i” 和 “m”,分別用于指定全局匹配、區(qū)分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數(shù)。

兩者區(qū)別在于:
1.采用直接量語法新建的正則表達式對象在代碼編譯時就會生成,是平常開發(fā)中常用的方式;
2.采用構造函數(shù)生成的正則對象要在代碼運行時生成。

正則表達式使用:
正則對象的方法是指這樣使用的: RegExp對象.方法(字符串)
字符串對象的方法是這樣使用:字符串.方法(RegExp對象)

正則對象的屬性和方法

屬性

ignoreCase 返回布爾值,表示RegExp 對象是否具有標志 i
global 返回布爾值,表示RegExp對象是否具有標志g
multiline 返回布爾值,表示RegExp 對象是否具有標志 m。
lastIndex 一個整數(shù),標識開始下一次匹配的字符位置
source 返回正則表達式的源文本(不包括反斜杠)

i 執(zhí)行對大小寫不敏感的匹配

g 執(zhí)行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
m 執(zhí)行多行匹配
正則表達式作用

通常用于兩種任務:

1.驗證
用于驗證時,通常需要在前后分別加上^和$,以匹配整個待驗證字符串;

2.搜索替換
搜索/替換時是否加上此限定則根據(jù)搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$

字符類匹配

[…] 查找方括號之間的任何字符
[^…] 查找任何不在方括號之間的字符
[a-z] 查找任何從小寫 a 到小寫 z 的字符
[A-Z] 查找任何從大寫 A 到大寫 Z 的字符
[A-z] 查找任何從大寫 A 到小寫 z 的字符
. 查找單個字符,除了換行和行結束符
\w 查找單詞字符,等價于[a-zA-Z0-9]
\W 查找非單詞字符,等價于[^a-zA-Z0-9]
\s 查找空白字符
\S 查找非空白字符
\d 查找數(shù)字,等價于[0-9]
\D 查找非數(shù)字字符,等價于[^0-9]
\b 匹配單詞邊界
\r 查找回車符
\t 查找制表符
\0 查找 NULL 字符
\n 查找換行符

重復字符匹配

{n,m} 匹配前一項至少n次,但不能超過m次
{n,} 匹配前一項n次或更多次
{n} 匹配前一項n次
n? 匹配前一項0次或者1次,也就是說前一項是可選的,等價于{0,1}
n+ 匹配前一項1次或多次,等價于{1,}
n* 匹配前一項0次或多次,等價于{0,}
n$ 匹配任何結尾為 n 的字符串
^n 匹配任何開頭為 n 的字符串
?=n 匹配任何其后緊接指定字符串 n 的字符串
?!n 匹配任何其后沒有緊接指定字符串 n 的字符串

匹配特定數(shù)字

^[1-9]\d*$    匹配正整數(shù)
^-[1-9]\d*$   匹配負整數(shù)
^-?[0-9]\d*$   匹配整數(shù)
^[1-9]\d*|0$  匹配非負整數(shù)(正整數(shù) + 0)
^-[1-9]\d*|0$   匹配非正整數(shù)(負整數(shù) + 0)
^[1-9]\d*.\d*|0.\d*[1-9]\d*$  匹配正浮點數(shù)
^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$ 匹配負浮點數(shù)
^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$  匹配浮點數(shù)
^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$   匹配非負浮點數(shù)(正浮點數(shù) + 0)
^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$  匹配非正浮點數(shù)(負浮點數(shù) + 0)

匹配特定字符串

^[A-Za-z]+$  匹配由26個英文字母組成的字符串
^[A-Z]+$  匹配由26個英文字母的大寫組成的字符串
^[a-z]+$  匹配由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+$  匹配由數(shù)字和26個英文字母組成的字符串
^\w+$  匹配由數(shù)字、26個英文字母或者下劃線組成的字符串

方法

test方法

檢索字符串中指定的值。返回 true 或 false。
如果字符串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false。

示例:

<script type="text/javascript">alert(/^<a href=(\'|\")[a-zA-Z0-9\/:\.]*(\'|\")>.*<\/a>$/.test("<a href='http://www.crazyit.org'>瘋狂Java聯(lián)盟</a>"));function trim(s){return s.replace(/(^\s*)|(\s*$)/g,"");}alert(trim(' hello,JavaScript '));</script>

四.數(shù)組

?? 數(shù)組是一系列的變量,有以下三個特征:

?? 1)Javascript的數(shù)組長度可變,數(shù)組長度總等于所有元素索引最大值加1.

?? 2)同一個數(shù)組中的元素類型可以互不相同

?? 3)訪問數(shù)組元素時不會產(chǎn)生數(shù)組越界,訪問并未賦值的數(shù)組元素時,該元素的值為undefined。

? Javascript數(shù)組棧使用的兩個方法如下:

? ? ?? push():元素入棧,返回入棧后數(shù)組的長度

? ? ?? pop():元素出棧,返回出棧的數(shù)組元素

?? JavaScript數(shù)組作為隊列使用的兩個方法如下:

? ? ?? unshift(ele):元素入隊列,返回入隊列后的數(shù)組的長度

? ? ?? shift():元素出隊列,返回出隊列的數(shù)組元素

? arrays對象還定義了如下方法:

? ? ? concat(value,...):為數(shù)組添加一個或多個元素,返回追加元素后的數(shù)組。

? ? ? join([separator]):將數(shù)組的多個元素拼接在一起,組成字符串后返回

示例代碼:

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>數(shù)組</title><script type="text/javascript" defer async>var stack = [] ;stack.push("孫悟空");stack.push("豬八戒");stack.push("白骨精");arrays=stack.concat("","動物");function demo1(){for(let i=0;i<arrays.length;i++){alert(arrays[i]);}return 0;};demo1();var queue = [];queue.unshift("瘋狂Java講義");queue.unshift("輕量級JavaEE企業(yè)應用實戰(zhàn)");queue.unshift("Java前端開發(fā)講義");console.log(queue.shift());console.log(queue.shift());</script> </head> <body></body> </html>

五.函數(shù)

?? 函數(shù)的語法格式如下:

function functionName(param1,param2){}

六.運算符

Javascript支持的運算符與java非常類似,還有一些獨特用法的運算符:

?? 1)逗號運算符。逗號運算符允許多個表達式排在一起,整個表達式返回最右邊表達式的值

<script type="text/javascript">var a,b,c,d;a = (b = 5,c = 8,d = 56);document.write('a='+a+' b='+b+" c="+c+' d='+d);</script>

輸出:a=56 b=5 c=8 d=56

? 2)void運算符,用于強行指定表達式不會發(fā)揮值,如

a = void(b = 5,c = 8,d = 56);

輸出a的值等于undefined

? 3)typeof和instanceof運算符。typeof用于判斷某個變量的數(shù)據(jù)類型,也可作為函數(shù)使用。instanceof用于返回某個變量是否為指定類的實例。

七.語句

?異常拋出語句

? Javascript所有的異常都是error對象,語法格式

throw new Error(errorString);

看如下實例:

<script type="text/javascript">for(let i = 0 ; i < 10 ; i++){document.writeln(i+"<br/>");if( i > 4 ) throw new Error('用戶自定義錯誤');}</script>

異常捕捉語句,語法格式如下:

try
{ staments }
catch(e)
{ staments }
finally
{ staments }

Javascript是弱類型語言,所以try塊后面只有一個catch塊。

?with語句

? with語句的主要作用是避免重復書寫同一個對象:實例如下:

<script>document.writeln('Hello<br/>'); document,writeln('HelloWorld<br/>'); document.writeln('javascript<br/>');//上面語句等同于with(document) { writeln('Hello<br/>'); writeln('HelloWorld<br/>'); writeln('javascript<br/>');}</script>

for-in循環(huán)語句

<script>for(element in elements){ staments }</script>

?

轉載于:https://www.cnblogs.com/yumiaoxia/p/8885108.html

總結

以上是生活随笔為你收集整理的Javascript一(变量,数据类型,正则表达式,数据,语句)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。