字符串 不可修改

javascript 中字符串一旦被创建,就永远无法修改!

与简单属性不同的是,变量不能删除的{DontDelete},这意味着要想通过delete操作符来删除一个变量是不可能的。

a =10;

alert(window.a);// 10

alert(delete a);// true

alert(window.a);// undefined

var b =20;

alert(window.b);// 20

alert(delete b);// false

alert(window.b);// still 20

但是,这里有个例外,就是“eval”执行上下文中,是可以删除变量的:

eval(‘var a = 10;‘);

alert(window.a);// 10

alert(delete a);// true

alert(window.a);// undefined

利用某些debug工具,在终端测试过这些例子的童鞋要注意了:其中Firebug也是使用了eval来执行终端的代码。因此,这个时候var也是可以删除的。

时间: 2025-01-05 09:33:28

字符串 不可修改的相关文章

Android - 使用SharedPreference判断字符串是否修改

使用SharedPreference判断字符串是否修改 本文地址: http://blog.csdn.net/caroline_wendy 判断字符串是否修改,可以把字符串存储在SharedPreference内,判断两次是否相同: private void modifyName(final String name) { EmptyWebOperationCallback callback = new EmptyWebOperationCallback(this) { @Override pub

Python中定义字符串和修改字符串的原理

   Python是用C语言开发的,在C语言中是没有字符串的概念,只有字符和字符数组,一般用字符数组表示字符串,所以在Python中定义一个字符串时,其实就是在内存中开辟一块空间, 例如: 定义一个字 符串string1=hello  --------->5个字符 字符数组['h','e','l','l','o'],其在内存中存储的位置为:['h','e','l','l','o'] 而如果想要修改该字符串为hellosb,在需要在内存中重新开辟一块数据空间为:['h','e','l','l','

Python字符串的修改以及传参

前两天去面试web developer,面试官提出一个问题,用JavaScript或者Python实现字符串反转,我选择了Python,然后写出了代码(错误的): 1 #!/usr/bin/env python 2 #-*-coding:utf-8-*- 3 __author__ = 'ZhangHe' 4 def reverse(s): 5 l = 0 6 r = len(s) - 1 7 while l < r: 8 s[l],s[r] = s[r],s[l] 9 l += 1 10 r -

Q: 字符串的修改

题目描述 怎么样,前面的题还可以吧~ 依旧是字符串处理,设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1. 删除一个字符: 2. 插入一个字符: 3. 将一个字符改为另一个字符. 对任给的两个字符串A和B,计算出将字符串A变换为字符串B所用的最少字符操作次数. 输入 第一行为字符串A:第二行为字符串B:字符串A和B的长度均小于200. 输出 只有一个正整数,为最少字符操作次数. 样例输入 sfdxbqw gfdgw 样例输出 4 /*-

C++string中有关字符串内容修改和替换的函数浅析

1.assign() 原型: //string (1) basic_string& assign (const basic_string& str); //substring (2) basic_string& assign (const basic_string& str, size_type subpos, size_type sublen); //c-string (3) basic_string& assign (const charT* s); //buf

zf-关于即将过期提示字符串的修改

Struts2中的 addFieldError(str1,str2); 自带输出 str1= [str2] 这样子是自带输出的 但是如果 要把=[]替换掉怎么办呢 当时想的很复杂,现在知道了,其实很简单,百度一下js怎么替换字符,然后就很容易的解决了~!!! 这个js代码在 index.jsp里 <ww:iterator value="fieldErrors"> var abc = '<ww:property/>'; var newstr= abc.replac

C#截取指定长度中英文字符串方法 (修改)

public static string GetFirstString(string stringToSub, int length) { Regex regex = new Regex("[/u4e00-/u9fa5]+", RegexOptions.Compiled); char[] stringChar = stringToSub.ToCharArray(); StringBuilder sb = new StringBuilder(); int nLength = 0; for

linq to sql中修改连接字符串

如果在类库中在添加linq to sql并连接完数据库服务器后会自动生成settings.settings文件,app.config文件用于存储连接字符串(图一) 如要修改连接字符串要修改哪个还是要全部修改呢?经过我研究发现最简单只需要修改dbml一个文件即可,因为三者是关联的,dbml修改后其他两个文件会相应的修改,但是这是有顺序的:dbml.settings.settings和app.config,修改其中一个连接字符串会将之后文件中的连接字符串同步.否则逆向修改会麻烦一些比如修改了app.

js——字符串处理

字符串不能修改,所以修改后的结果都是以一个新的字符串返回,原串不改变 1. 创建字符串和typeof           - 空字符串 var str = ""; - "abc" var str = "abc";  typeof str;//string var str = new String("abc"); typeof str;//object var str = new Object("abc");