js 型別之間的相互轉化

2022-05-05 01:00:07 字數 3520 閱讀 4182

設定元素物件屬性

var img = document.queryselector("img")

img.setattribute("src","")

值型別number

string

undefined

boolen

引入型別

function

a = function()

object

a =

a.age

null

a = null;

其他型別

array

var a = new array(1,2,3,4,5)

a = [5,4,3,2,1]

date

var d = new date();

year = d.getfullyear()

d.getday()

d.getmonth()

d.getdate()

regexp

var re = new regexp("\d","g");

var res = "abc123abc123".match(re)

re = /\d/g;

res = "alb23abc456".match(re);

console.log(res);

re = /[abc]/gi;

res = "abc".match(re);

i不區分大小寫

g全文匹配

var a = [3,5,2,1,4]

a[1]

var dic =

dic["name"]

dic["age"]

dic.name,dic.age

dic["little-name"]

dic中所有key都是string型別,value可以為任意型別

dic中key可以通過中括號及語法訪問值,但key不滿足js

命名規範時,只能使用中括號語法

型別轉化

1.值型別之間的相互轉化

var num = 10;

var s = "123";

var b1 = boolean(num)

var b2 = boolean(s);

布林型別轉化為數字型別

number(false)>>>0

number(true)>>>1

true+true >>>>2

var s11 = "123";

常用轉化的字元一定是乙個合法的數字字串形式,使用加號,可以快速轉化成number

var n11 = +s11;

轉化為字串型別

①var nn1 = 123;

var ss1 = string(nn1);

var ss2 = nn1.tostring();

var ss3 = "" +nn1;

console.log(ss1,ss2,ss3);

var ss4 = 123..tostring()

console.log(ss4);

弱語言型別

console.log(3+"5");//"35"

console.log(3-"5"); // -2

總結:1.最快轉換為數字型別+"123" +true

2.最快轉化為字串形式 "" + 123 | "" +true

運算子:

1.演算法運算子

var res = 5/2;

2.var res1 = 5%2;

3.++在後先賦值再自增

++在前先自增再賦值

4.賦值運算子

var x=20;

x+=10;

5.比較運算子

var y =10;

var z ="10";

y==z 只比較值

y === z 全等,值與型別都必須相等

y != z false;

y !== z true;

6.邏輯運算子:

var a1 = 10;

var a2 =20 ;

var a3 = "10";

邏輯與: 條件1&&條件2

邏輯或: 條件1 || 條件2

邏輯非: 非真即假

邏輯運算子的短路效果

var res1 = a1==a3 && a2++;

console.log(res1,a2);// 20,21

邏輯與的短路效果,條件1位假,條件2就不會被執行

var res1 = al == a3 && ++a2; //

console.log(res1,a2); // false 20

邏輯或的短路效果,條件為真,條件2就不會被執行

var res2 = a1==a3 || a2++;

console.log(res2,a2);//true 20

5.三目運算子;結果=條件表示式?結果1:結果2;

var xx= 10;

var yy= "10";

var res = xx ==yy?"xx與yy的值相等":"xx與yy的值不相等"

console.log(res)

console.log(nan == nan)//false nan的前身不同,所以是false

檢視是否是nan isnan(x)

if 分支結構

```python

if (表示式1){}

else if(表示式2){}

三種彈出視窗

alert(123)//普通彈出框

var res = prompt("請輸入:");//輸入框

var res = confirm("請選擇");//確認框,得到true|false

迴圈

①for (迴圈變數;條件表示式;迴圈變數增量){}

for(var i=0;i<5;i++)

②var j=0;

while(j<5)

③ var k=0;

dowhile(k < 5);

總結:1.for :解決已知迴圈次數的

2.while:可以解決所有for迴圈可以解決的問題,也可以解決不知道迴圈次數但知道結束條件

3.do...while:無論條件是否滿足,迴圈體都會被執行一次

函式

1.函式的定義

function 函式名(形參列表)

2.函式的呼叫

var res = 函式名(實參列表)

3.函式的引數

①個數不需要統一

有三個形參可以任意傳

②可以任意位置具有預設值

③通過...語法接收多個值

4.返回值講解

①可以空return操作,用來結束函式

②返回值可以為任意js型別資料

③函式最多只能擁有乙個返回值

js函式的重點:如何給事件提供功能

函式的定義與呼叫(呼叫可以寫在定義前)

匿名函式,自定義

(function())()

型別相互轉化

1.short int exp short shortvar 0 int intvar 0 shortvar short intvar 2.int short exp short shortvar 0 int intvar 0 intvar shortvar 3.int string exp int...

進製之間的相互轉化

由乙個問題想到的!這個問題是 在windows計算器裡,用programmer方式,選擇dword即32位編碼,然後切換到16進製制,輸入80800006,再轉化成十進位制,會得到乙個負數 2139095034 在c 裡面80800006是乙個uint變數,如何把它變成乙個int的負數?答案 uin...

js 時間函式相互轉化

獲取當前時間物件 var date new date 2.日期函式 時間物件 yyyy mm dd hh mi ss 時間物件 endlogtimedate 2012 05 22 17 10 46 startlogtimedate 2012 05 22 17 10 46 var endlogtime...