⑴ 求助:怎么把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);