JS基本类型和引用类型赋值的区别

JavaScript09

JS基本类型和引用类型赋值的区别,第1张

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 = 11是基本数据类型,因此变量a存放的就是1这个值

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

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

ButtonClick: function (EntityName) {var testEntity = {} //主属性,名称字段,只能是单行文本testEntity.new_name = "通过代码新增的记录" //为单行文本字段赋值testEntity.new_SingleLine = "This account was created by the JavaScriptRESTDataOperations sample." //为两个选项字段赋值,只能赋值为true或者falsetestEntity.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实现给某个文本框赋值,可以先在js中获得文本框的元素,如

document.getElementsByName("result")[0]

然后把它的value属性赋值,如

document.getElementsByName("result")[0].value = 10

这是测试页面

其中

<input type="text" name="result" disabled="disabled">

这句中的disabled="disabled"就起到令文本框不可编辑变灰的效果。

这3行js代码的意思是,载入界面后,找到名称为result的元素,并给它赋值为10

window.onload = function(){

document.getElementsByName("result")[0].value = 10

}