js引用类型的存储(js怎么给各中类型字段赋值的)

seosqwseo2个月前 (09-14)测评日记35

一、js字符串多存储多少字节

‍‍

JS字符串的长度受到下标限制。理论大长度是2^53-1(即js中可表达的大安全整数)。2^53是多大呢?大约9PB。根据统计,中国2014年所有出版物(不计复本)不到2000亿字,也就是400GB而已。按此推算,不要说存一个txt了,中国自有甲骨文以来所有的书、各类出版物字数加在一起估计也不可能超过100TB,也就是0.1PB。当然啦,实际引擎是不可能允许分配那么大的字符串的,你的电脑也没那么大存储不是。V8的heap上限只有2GB不到,允许分配的单个字符串大小上限更只有大约是512MB不到。JS字符串是UTF16编码保存,所以也就是2.68亿个字符。FF大约也是这个数字。根据长的网络小说是哪部,目前长的网络小说大概2000万字。所以还是绰绰有余的。《道藏》大约7000万字,《大藏经》大约1亿字,也是存得下的。不过《永乐大典》有3.7亿字,《四库全书》有8亿字,V8/FF的一个字符串就存不下喽。然而IE11貌似可以存4GB的字符串,即21亿字。其实限制是在服务器资源、网速和存储。你文本还没读完,值还没赋完,内存不够了。内存够了,几百m几个G的变量,搞得页面请求超时了,访客没耐心关掉了,或者浏览器内存崩溃了。取一次吗?还是经常要用,要持久化不,数据库肯定存不下,文件存吧〔占硬盘,存不了几个〕,又每次要io读。你干嘛不搞几百字的简介,配个图,附上文件的**地址〔放网盘,2T内免费〕不是很好吗。

‍‍

二、js的对象和引用类型之间到底是什么关系

用其它有class的语言来说明比较清楚.架设有一个类ClassA,创建一个对象var a= new ClassA(),对象a就是ClassA的一个实例,如果又有var b= new ClassA(),那么b就是ClassA的另一个实例

然后在js里所有new创建的东西都是引用类型的,例如var a= new ClassA(), b= a;这样a和b实际指向的都是同一个对象,这里引用类型的值指的就是这一个对象

三、js怎么给各中类型字段赋值的

ButtonClick: function(EntityName){

var testEntity={};

//主属性,名称字段,只能是单行文本

testEntity.new_name="通过代码新增的记录";

//为单行文本字段赋值

testEntity.new_SingleLine="This account was created by the JavaScriptRESTDataOperations sample.";

//为两个选项字段赋值,只能赋值为true或者false

testEntity.new_TwoOptionSet= true;

//为选项集字段赋值,为整数,是选项集的存储值,不是显示值

testEntity.new_OptionSet={ Value: 100000001};

//为货币字段赋值

testEntity.new_Currency={ Value:"20000.1"};

//为浮点数字段赋值,小数即可

testEntity.new_Float= 10.2;

//为十进制字段赋值,特别注意要用引号引用起来

testEntity.new_Decimal="104.1";

//为整数字段赋值

testEntity.new_Integer= 200;

//为日期和时间字段赋值

testEntity.new_Datetime= new Date();

//为多行文本字段赋值

testEntity.new_MultiLine="多行文本字段的值多行文本字段的值多行文本字段的值多行文本字段的值----多行文本字段的值";

//为查找字段赋值

testEntity.new_Lookup={ Id:"F3A0BB75-F3AD-E311-80B4-00155D016705", LogicalName:"account", Name:"随便什么值"};

SDK.REST.createRecord(

testEntity,

"new_Test2013",

function(TestEntity){

Xrm.Utility.alertDialog("新增记录成功,记录id是"+ TestEntity.new_Test2013Id+"按确定按钮后将打开新增的记录",

function(){

Xrm.Utility.openEntityForm(EntityName, TestEntity.new_Test2013Id);

});

},

function errorHandler(error){

alert('Error message:'+ error.message);

}

);

}

四、js中的null应该是基本数据类型还是引用类型

JS基本数据类型的变量存放的是基本类型数据的实际值;而引用数据类型的变量保存对它的引用,即指针。

JS基本数据类型:null undefined number boolean

string比较特殊

引用数据类型:function object array

var a= 11;

var b= 1;

b= 12;

console.log(a);//11 a的值不会随b值得改变而改变

var a= [1,2,3];

var b= a;

a[0]= 2;

console.log(b[0])//2, b的值随着a的值改变而改,因为他们指向同一个内存地址

var a= [1,2,3];

var b= a;

b= [11, 12, 13];//b指向了另一个内存地址,与a断开关联

a[0]= 2;

console.log(b[0])//11,b的值不随a的值改变而改变

比如说 var a= 1; 1是基本数据类型,因此变量a存放的就是1这个值

var b= [1,2,3],[1,2,3]是引用数据类型,[1,2,3]是放在内存中的,而变量b存放的是[1,2,3]的地址,而不是[1,2,3]这个值

当使用b这个变量时,js解释器会通过b存放的内存地址,找到内存中的相应地址,将其中的值取出来返回

相关文章

FFALCONTCL雷鸟电视雀443英寸4K超高清好不好用

FFALCONTCL雷鸟电视雀443英寸4K超高清好不好用

很多小伙伴在关注FFALCONTCL雷鸟电视雀443英寸4K超高清怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的...

创维(Skyworth)创维电视使用反馈分享

创维(Skyworth)创维电视使用反馈分享

很多小伙伴在关注创维(Skyworth)创维电视怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看吧...

Vidda海信电视ViddaR43测评怎么样

Vidda海信电视ViddaR43测评怎么样

很多小伙伴在关注Vidda海信电视ViddaR43怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看...

酷开(coocaa)创维酷开43P31图文测评

酷开(coocaa)创维酷开43P31图文测评

很多小伙伴在关注酷开(coocaa)创维酷开43P31怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来...

爱百分英语点读笔万能通用扫描笔小学初中高中生课本同步幼儿童启蒙绘本书阅读翻译词典全科扫读笔学习机使用感受如何

爱百分英语点读笔万能通用扫描笔小学初中高中生课本同步幼儿童启蒙绘本书阅读翻译词典全科扫读笔学习机使用感受如何

很多小伙伴在关注爱百分英语点读笔万能通用扫描笔小学初中高中生课本同步幼儿童启蒙绘本书阅读翻译词典全科扫读笔学习机怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用...

云腾(YUNTENG)VT-888使用感受分享

云腾(YUNTENG)VT-888使用感受分享

很多小伙伴在关注云腾(YUNTENG)VT-888怎么样?质量好不好?使用测评如何?本文综合已购用户的客观使用分享和相应的优惠信息,为大家推荐一款高性价比的产品,一起来看看...