⑴ 求助:怎麼把js對象轉為字元串
toString()
使用對象的函數把對象轉化為字元串。
//plainobject
varobj={};
obj.toString();//返回"[objectObject]"
//基本數據封裝類
varnum=newNumber(2.2);
num.toString();//返回"2.2"
//數組
vararr=[1,2,3];
arr.toString();//返回"1,2,3"
//正則對象
varreg=newRegExp('\d');
reg.toString();//返回"/d/"
//自定義對象
functionPerson(name,age){
this.name=name;
this.age=age;
}
Person.prototype.toString=function(){
return'nameis'+this.name+'andageis'+this.age;
};
varp=newPerson('Scott',31);
p.toString();//返回"nameisScottandageis31"
JSON.stringify
使用json序列化的方式把對象轉換為字元串,該方式會把一個對象中所有標記為
enumerable的屬性序列化為json格式的字元串。
//plainobject
varobj={name:'Scott',age:31};
JSON.stringify(obj);//返回"{"name":"Scott","age":31}"
//基本數據封裝類
varnum=newNumber(2.2);
JSON.stringify(num);//返回"2.2"
//數組
vararr=[1,2,3];
JSON.stringify(arr);//返回"[1,2,3]"
//自定義類型
functionPerson(name,age,maritalStatus){
this.name=name;
this.age=age;
//由於婚姻狀況是隱私的屬性,不希望序列化字元串的時候暴露給他人,因此這里設置屬性為不可枚舉的
Object.defineProperty(this,'maritalStatus',{
enumerable:false,
configurable:false,
writable:true,
value:maritalState||'unknown'
});
this.maritalStatus=maritalStatus;
}
varp=newPerson('Scott',31,'married');
//序列化的時候是沒有maritalStatus的
JSON.stringify(p);//返回"{"name":"Scott","age":31}"
//但是maritalStatus確實真實存在於對象中的
p.maritalStatus;//返回"married"
⑵ js中如何獲取一個字元串最後一個字元
js獲取一個字元串最後的一個字元,可以參考如下方法 :
方法一:運用String對象下的charAt方法
charAt() 方法可返回指定位置的字元。
str.charAt(str.length – 1)
請注意,javaScript 並沒有一種有別於字元串類型的字元數據類型,所以返回的字元是長度為 1 的字元串
方法二:運用String對象下的substr方法
substr() 方法可在字元串中抽取從 start 下標開始的指定數目的字元。
str.substr(str.length-1,1)
重要事項:ECMAscript 沒有對該方法進行標准化,因此反對使用它。
重要事項:在 IE 4 中,參數 start 的值無效。在這個 BUG 中,start 規定的是第 0 個字元的位置。(www.111cn.net)在之後的版本中,此 BUG 已被修正。
方法三:運用String對象下的split方法
split() 方法用於把一個字元串分割成字元串數組。
var str = 「123456″;
spstr = str.split(「」);
spstr[spstr.length-1];
⑶ js 怎樣獲取一個字元串里的某一個字元串
String.prototype.getQuery = function(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = this.substr(this.indexOf("\?")+1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
var s = "web1.aspx?status=item&mode=edit";
alert(s.getQuery("status"));
alert(s.getQuery("mode"));
String.prototype.getQuery = function(name)
的意思是為String對象增加一個getQuery(name)方法.
⑷ angularjs對象轉換成字元串後怎麼取值
把字元串轉化成json數據,json數據的遍歷。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>作用域</title>
<script src="js/angular.min.js"></script>
<style type="text/css">
</style>
</head>
<body ng-app="my-frist-app">
<div ng-controller="譽茄fristController" >
</div>
<script type="text/javascript">
var myApp = angular.mole('my-frist-app',[])
myApp.controller('fristController',function($scope,$rootScope){
// 對象才用,基本數據類型不用。
var obj3 = {name:'zhangsan'};
var obj4 = {name:'lisi'};
angular.(obj3,obj4);
console.log(obj3);
console.log(obj4);
// 繼承 obj5繼承了obj6(所有的屬性和方法) 是前者給了後者。
var obj5 = {name:'zhangsan'};
var obj6 = {age:'40'};
angular.extend(obj5,obj6);
console.log(obj5);
console.log(obj6);
// 可以遍歷數組和對象。 遍歷頌褲 1 遍歷的對象 2 遍歷的方法 3遍歷的上下文環境(一般不用)
var json = {name:"zhangsan",age:40};
angular.forEach(json,function( val,key){
console.log(key);
console.log(val)
});
// 綁定對象
var obj7 = {name:'lisi'};
var fun = angular.bind(obj7,function(){
console.log(this.name);
})
fun();
// 字元串和對慶櫻察象的轉化
//JSON.parse(); js 方法
var jsonStr = '{"name":"李四"}';
console.log(angular.fromJson(jsonStr));
// 對象轉字元串
//JSON.stringify() js方法
console.log(angular.toJson(obj7));
});
</script>
</body>
</html>
⑸ javascript中string對象的哪個方法可以尋找子字元串並返回該子字元串
"string".substring(開始位置,結束位置)
可以生成子字元串
"string".indexOf("子字元串")
可以查找子字元串在"string"中的位置,找不到會返回-1
⑹ JavaScript 如何通過字元串獲取對象
沒看懂你想彈出李四是什麼意思,不過alert(eval('window.'+s));可以彈出張三
function fun(s,v){
eval(s+"='"+v+"';");
}
但是有個問題,v裡面不能包含單引號,或者先把單引號轉換掉
⑺ js獲取傳來的對象中的值
你這又不是json數據格式。你這樣取值肯定不行了。你這格式處理的我還真不知道,你只能當字元串去處理,用split進行分割,然後匹配字元串試試能不能取到值。
⑻ js怎麼用字元串調用對象
你這代碼寫法肯定是調不到的,js是從上往下執行的,執行到var name=wt3103001的時候wt3103001還是undefined,怎麼可能調得到東西,改成
var wt3103001={//需要調用的對象
pass:"520520",
};
var name=wt3103001;
name.pass;
就可以了
⑼ Js對象(四)對象與字元串相互轉換 2021-11-24
在實際開發中我們經常需要將對象轉為字元串來傳遞數據,傳遞完畢後再以對象的方式顯示,所以必須掌握相互轉換的方法
一、將對象轉為字元串:
let obj = {
name: "小米10",
color: '紅色',
size: '1000*200*500',
price: '2999'
}
// 1. 獲取對象的兩種方式:
// console.log(obj.name);
// console.log(obj['name']);
// 2.遍歷對象
// 2.1 for in 遍歷對象
// for(變數 in 對象){
// }
for (let key in obj) { //for in 裡面的變數喜歡用key
console.log(key); // key 變數 輸出得到是屬性值
// console.log(obj[k]); //得到裡面的屬性值
// console.log(k + '--' + obj[k]);
}
// 2.2 ES6中新增的獲取對象的所有屬性方法
// Object.keys() 返回對象的所有屬性名 是個數組
轎腔差 console.log(Object.keys(obj)); //['name', 'color', 'size', 'price']
Object.keys(obj).forEach(key => {
console.log(key + '--' + obj[key]);
閉皮 })
// Object.values返回對象的所有屬性值 是個數組
console.log(Object.values(obj));
console.log('*'.repeat(30));
// 3.兩種方法轉換為字元串
//方法一
let arr1 = [] //先聲明空數組,再將空數組轉換為字元串
for (let key in obj) {
arr1.push(key + '=' + obj[key]) // 聲明空數組接收對象轉換後的數組
}
console.log(arr1.join('&')); //也可以聲明一個字元串去接
// 方法二
// 先找到數組裡面所有的屬性名,然後用map修改屬性
let str2 = Object.keys(obj).map(key => [key, obj[key]].join('=')).join('&')
console.log(str2);
二、將字元串轉為對象
let str = 'name=劉德華&age=18&sex=男';
let obj = {};
// split將字元串按照指定字元轉為數圓戚組,forEach再遍歷數組
str.split('&').forEach(r => {
let arr = r.split('='); //然後再用split按等號將數組拼成新數組
obj[arr[0]] = arr[1]; //再給對象賦值 arr[0]是屬性。arr[1]是值
});
console.log(obj);
⑽ js對象中插入字元串
varstr="abcdac";
varobj={};
for(vari=0;i<str.length;i++){
console.log(str[i]);
//改為如下即可,你需要先設置obj的str屬性、然後才回可以對他進答行賦值
obj.str=str;
obj.str[i]=1;
}
console.log(obj);