精华内容
下载资源
问答
  • Javascipt的数据属性有一个名为Writable的特征, 可以用于设置属性值是否可以被...设置对象Programmer属性值name为zhaoolee, 并设置属性值name为不可修改 Object.defineProperty(Programmer, "name", {writable: fals...
        

    Javascipt的数据属性有一个名为Writable的特征, 可以用于设置属性值是否可以被修改

    创建对象Programmer

    var Programmer = {};
    

    设置对象Programmer属性值namezhaoolee, 并设置属性值name为不可修改

    Object.defineProperty(Programmer, "name", {writable: false, value: "zhaoolee"});
    

    尝试更改属性值name的值为ok(验证结果为无法修改)

    Programmer.name = "ok"
    console.log(Programmer.name)
    

    查看对象属性

    Object.getOwnPropertyDescriptor(Programmer, "name")
    
    3203841-cade2ed8c7df7c2e.png
    展开全文
  • 背景:用C#的人都知道结构体在C#中是值类型的,由于这个原因出现了一个有趣的问题,那就是结构体集合通过数字索引修改对应属性的值能能影响到集合中的结构体呢?答案很多人可能会说能,因为结构体是值类型的那是...

    背景:用C#的人都知道结构体在C#中是值类型的,由于这个原因出现了一个有趣的问题,那就是结构体集合通过数字索引修改对应属性的值能不能影响到集合中的结构体呢?答案很多人可能会说不能,因为结构体是值类型的那是一个副本;也可能有人说会,因为它是通过集合索引来操作的,集合本身时引用类型,集合索引取得的将是集合引用的一个地址按理应该也是引用类型的。

     

    结论:结果可能会大跌眼镜,结果是C#编译器根本通不过这样的修改,有关文档的说法是值类型的数据是一个栈上的值,索引取出的是一个栈返回值是一个临时数据副本,即使能够修改结果也影响不到原有数据,所以编译器禁止做这样的操作。(C++中由于结构体是一个特殊的类属于引用类型因此没有这个问题)

     

     

    疑惑:既然C#设计者认为不能用集合修改结构体,但当天我用数组的方式却成功的修改成功了,不但通过了语法而且数据也修改成功了,我第一次是用的ToArray方法实现的,有人可能会说你这样躲避了编译器检查,但是后来我再用数组声明并添加达到了同样的效果,这个结论是不是与上一步的结论栈数据不能修改即使修改了也不能影响原有数据矛盾呢?

    猜测:无法解释这里面的原因,因为不像JAVA那样开源所以不知道这里面的机制,但是我猜测集合的索引底层应该是一个方法返回的值是一个临时栈,而数组声明的是一个栈变量,数组的索引是用的指针取得值而非方法返回的临时副本,所以可以修改并且会影响到原有数据,不知道这种猜测是否合理,欢迎读者留言交流以求真相。

     

    代码:

    https://download.csdn.net/download/hirisw/10486222

    展开全文
  • 在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。 一、怎么判断属性是否可枚举  js中基本包装类型的原型属性...

    在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。

    一、怎么判断属性是否可枚举

      js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出这样的代码遍历其中的属性:

    1
    2
    3
    4
    var num = new Number();
    for(var pro in num) {
        console.log("num." + pro + " = " + num[pro]);
    }

    它的输出结果会是空。这是因为Number中内置的属性是不可枚举的,所以不能被for…in访问到。

    Object对象的propertyIsEnumerable()方法可以判断此对象是否包含某个属性,并且这个属性是否可枚举。

    需要注意的是:如果判断的属性存在于Object对象的原型内,不管它是否可枚举都会返回false。

    二、枚举性的作用

    属性的枚举性会影响以下三个函数的结果:

    for…in

    Object.keys()

    JSON.stringify

    先看一个例子,按如下方法创建kxy对象:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function Person() {
        this.name = "KXY";
    }
    Person.prototype = {
        constructor: Person,
        job: "student",
    };
     
    var kxy = new Person();
    Object.defineProperty(kxy, "sex", {
        value: "female",
        enumerable: false

    其中用defineProperty为对象定义了一个名为”sex”的不可枚举属性

    接下来做以下验证:

    1.

    1
    2
    3
    for(var pro in kxy) {
        console.log("kxy." + pro + " = " + kxy[pro]);
      }

    遍历结果:

    枚举性检验1

    可以看到除了”sex“之外的属性都遍历到了

    2.

    1
    console.log(Object.keys(kxy));

    结果:

    枚举性检验2

    只包含”name”属性,说明该方法只能返回对象本身具有的可枚举属性。

    3.

    1
    console.log(JSON.stringify(kxy));

    <结果:

    可枚举性检验3

    此方法也只能读取对象本身的可枚举属性,并序列化为JSON对象。

    展开全文
  • css可继承属性不可继承属性

    千次阅读 2016-05-19 21:21:39
    不可继承的:display、margin、border、padding、background、height、min-height、max- height、width、min-width、max-width、overflow、position、left、right、top、 bottom、z-index、float、clear、table-...

    不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。
    所有元素可继承:visibility和cursor。
    内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
    终端块状元素可继承:text-indent和text-align。
    列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
    表格元素可继承:border-collapse。





    不可继承的:display、margin、border、padding、background、height、min-height、max- height、width、min-width、max-width、overflow、position、left、right、top、 bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、 page-bread-before和unicode-bidi。

    不及继承:也就是指子节点不能继承父节点的属性,譬如:
    html

    <div style="border:1px solid #ff0000;">

    这是父节点

    <p>

    这是子节点

    </p>

    </div>

    效果如下:

    如果子节点能继承父节点的border属性,那么也会有一个红色边框。

    所有元素可继承:visibility和cursor。
    内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、 font-family、font-size、font-style、font-variant、font-weight、text- decoration、text-transform、direction。
    块状元素可继承:text-indent和text-align。
    列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
    表格元素可继承:border-collapse。

    相反,可继承就是父节点设置了这个属性后,子节点就可以继承他的属性,

    这里要明白什么是块状元素,内联元素。
    块状元素,是其属性display的默认值为block的标签,也就是div,p,h1等等,但不代表这些标签一定是块状元素,当程序员把他的display属性改变,就不是块状元素,例如:
    html

    <div style="border:1px solid #ff0000; width:400px; padding:10px;">这是块状元素</div> <div style="border:1px solid #ff0000; width:400px; padding:10px;">这也是块状元素</div>

    效果如下:

    但如果,把其中一个div的display设置成inline,就变成:

    ps:内联元素,width,和height属性都不起效的。
    再看看例子:
    html
    <span style="border:1px solid #ff0000; width:400px; padding:10px;">我是内联元素</span>
    <span style="border:1px solid #ff0000; width:400px; padding:10px;">我也是内联元素</span>

    效果如下:

    我们把其中一个display设置成block时就会有:

    很明显的是,一个标签没有说是一定是块状元素,当他的display属性被设置了,就会改变他。
    有一点要注意的是当原本是内联元素的被设置float,也会变成呢个块元素的,把上面的“我是内联元素,设置为float:left,效果如:


    你是否看出有点不同,和两个都是块元素,有区别。这里不讨论。

    明白了什么是块状元素,就会对什么便签能继承什么属性,什么便签不能,就会有一个认识,这里最后一个例子,是一些容易被人忽略的属性继承:
    html:
    <div style="text-indent:2em; border:1px solid #ff0000; width:400px;">
    这是一级块状元素
    	<div style="border:1px solid #060">
        	这是二级块状元素,这是突出效果的,没别的意思,巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴拉
    		<p style=" border:1px solid #0000ff">
    	    	这是三级块状元素
    	    	<span style="background-color:#333; color:#ffffff;">
    	        	这是内联元素
    	        </span>
    	    </p>
        </div>
    </div>

    效果:

    text-indent:文本缩进,这是一个比较少用的属性,它是一段文本的第一行缩进多少个像素,或字符。很明显它是一个文本编辑的属性,但有些人会把它当成间距属性使用,这样子做其实是很怪诞的:
    第一,你不可保证,那段文字,永远都只有一行。
    第二,定义为text-indent的子节点是块状元素,会继承这个属性的,但而其他人接受你写的css后,多数的时候都不会预计到子节点继承text-indent属性,而去修改。
    为了避免这种不可预计的继承,你可以用padding,来代替text-indent,而不是,你发现这个属性,觉得很新奇,一时童心未泯地用。
    展开全文
  • readOnly属性不可修改

    千次阅读 2011-10-11 08:52:14
  • easyUI combobox动态设定不可编辑属性

    千次阅读 2019-07-02 21:15:02
    1.disable属性,灰色不可编辑 $("#id").combobox(‘enable’); //可用 $("#id").combobox(‘disable’); //不可用 $(’#id’).combobox({ disabled: true }); 2.readonly属性,颜色不变不可编辑 $("#id").combobox...
  • 所以现在想要实现这一功能有两种方式,一种就是在字符串拼接的条件下,再进行日期判断,是否加上不可编辑的属性。第二种就是在今天日期前面的排班日期通过jquery设置属性。很明显,是第二种方法比较好用。js代码: ...
  • html——input标签设置不可编辑属性

    千次阅读 2020-04-05 16:35:43
    设置不可编辑: //设置不可编辑: $("#input_id").attr("disabled","disabled"); //或: $("#input_id").attr("readonly","readonly"); // 解除不可编辑: $("#input_id").removeAttr("disabled"); //或: $...
  • 由于电脑升级,更换成了windows8.1的64位操作系统,今天遇到组件服务中DCOM配置里IIS Admin Service属性呈现灰色,修改。 查找官方文档,原来这是win8.1 x64的安全特性.一些核心系统组件只能允许本地帐号,...
  • 数组的length属性可写,字符串的长度length属性不可以修改 清空数组的两种方法:arr.length=0;arr=[];
  • 一 编辑combox可用时,背景变黑 GetDlgItem(IDC_COMBO_TYPE)->...先修改CCombox属性,再设为可用 DWORD theStyle;  HWND theChild;  theChild = ::GetWindow( GetDlgItem(IDC_COMBO_NUM)->m_h
  • C#winform设置textbox属性不可编辑

    万次阅读 2014-06-03 21:44:19
    Java Web开发如何设置单选按钮的属性,使得一旦选中某一个单选按钮,就不可编辑单选按钮呢 怎么设置单选按钮的属性,使得一旦选中某一个单选按钮,就不可编辑单选按钮呢? " > VB Dotnet请教怎么在C1...
  • 1、当需设置input和select显示为只读(不可修改)时,两者有不同的设置方法。 1)input可设置为只读,在其中增加属性readonly=“readonly”; 2)select没有readonly这个属性,不过可以通过disabled=...
  • ro.xxx属性的property通常在系统启动的时候就通过property_set()函数被写在了系统中,而ro属性每次系统启动只能写一次,顾一但设定便不可修改。 setprop 在system/core/toobox下有许多常用的命令的源码,setp...
  • SQL Server允许更改字段属性

    千次阅读 2013-02-28 15:03:38
    更改SQL Server2008的表结构的时候,遇到了如图1所示的问题:允许更改字段属性,解决办法:打开SQL SERVER 2008 工具-->选项-->Designers-->表设计器和数据库设计器,把“阻止保存要求重新创建表的更改”的勾...
  • HTML标签隐藏以及不可修改

    万次阅读 2017-08-08 11:32:20
    方法一:设置display属性为none 方法二:设置visibility属性为hidden visibility:hidden"  type="text" name="customer_area_id" > display和visibility的区别在于display:none; 使用该属性后,HTML...
  • TypeScript中的属性和只读属性

    千次阅读 2018-01-23 16:30:00
    属性 接口里的属性不全都是必需的。 有些是只在某些条件下存在,或者根本存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有属性的接口与普通的接口定义差不多,只是在属性名字定义的后面...
  • WPF 设置属性使窗口不可改变大小

    千次阅读 2019-07-11 14:34:15
    标题栏中显示“最小化”和“最大化”按钮。 CanMinimize 只能最小化和还原窗口。同时显示“最小化”和“最大化”按钮,但只有“最小化”按钮处于启用状态。 CanResize 可以调整窗口的大小。同时...
  • 一次中了一个知道什么病毒,状况如下:只要存在文件夹,病毒就将文件夹的隐藏属性打勾,并且在杀毒后也修改回去。 用用户已经存在的文件夹的名称生成.exe的病毒文件,以骗取用户双击打开“文件夹”,来运行...
  • Input值不可修改

    万次阅读 2019-06-27 22:09:57
    Input值不可修改 要固定input标签里面的值不能被修改,我这里有两种方法。 1、 为input标签设置只读模式。 设置只读模式之后,整个文本框就都会被封住,input标签里面的值就不能被手动删除和修改,不能再添加新的...
  • 修改属性声明为readonly的属性

    千次阅读 2018-07-01 13:37:15
    修改属性声明为readonly的属性值 在NSOperation中,executing、finished等属性都被声明为readonly,但在继承NSOperation的子类中,可能需要修改这些属性的值,该如何处理呢? 在子类中添加如下的代码: @...
  • radio单选框回显时,不能使用readonly属性,为使它不可编辑可使用 onclick="return". 转载于:https://blog.51cto.com/fengsong97/1681683
  • EditText的editable属性用于设置是否可被编辑,但目前已被...只能寻求其他方式实现EditText不可编辑的效果了。虽然editable还是可以运行。 android:editable="false" should work, but it is deprecated, you
  • input表单内容不可修改

    千次阅读 2018-02-02 10:32:49
    我们如何将input表单的内容不可修改,加入 disabled="true" 就可以了,变为灰色不可更改
  • 设置窗体的FormBorderStyle属性为下列五个值中的任意一个 None:将窗口设置为无边框、无标题栏。用户无法改变窗口的大小,也无法改变窗口显示的位置; FixedSingle:将窗口设置为固定的单框(窄框),用户无法用...
  • JSP标签隐藏以及不可修改

    千次阅读 2018-09-20 18:04:14
    看起来像可以修改 ,实际也是不可修改的 通过表单传值到其他页面可以得到 方法二:设置 disabled 属性为true <td><input type = "text" disabled ="true" name = "bookid" value="${param.bookid}"> ...
  • 但是却完全正确。 看如下代码private final int a; private final Date date;示例代码中分别声明了整型的属性a,Date型的属性date,final关键只能确保基本数据类型的值不会变,但是对于Date这样的,非基本数据...
  • js实现对象不可更改

    2020-02-18 18:31:23
    但是对象的属性如何确保不更改呢。 js中有一个函数Object.freeze()可以确保对象的属性不变化,但是如果对象内的属性还是对象呢,就望尘莫及了。这时候需要深拷贝的帮助了 function deepFreeze(obj) { var propName...
  • linux修改文件属性

    千次阅读 2019-07-16 17:42:42
    -l:一行列出一个文件的属性信息(list),除文件名外,显示文件类型、权限、硬链接数目、该文件的拥有者、该文件所在的用户组、大小(单位:字节)、时间信息(如未指明是其他时间即指修改时间) -a:列出当前目录下的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,414,249
精华内容 565,699
关键字:

不可修改属性