Javascrip一个变量名同时赋值不同的数据类型还是看做同一个变量吗,具体看代码
 <!DOCTYPE html>
<html>
    <head lang="en">
        <meta charset="utf-8">
        <title></title>
    </head>
    <body bgcolor="white">
        <!--h1>hello</h1>
        <h1><h2>hello</h2></h1-->
        <script>
            var x=1;
            var x=false;
            var x="string";
            document.write(x);
            //"JavaScript 拥有动态类型,这意味着相同的变量可用作不同的类型"对这句话不理解自己做了一个测试,既然可以看成相同的变量那为什么输出变量值时只会显示字符串类型的值?还是说几种不同的数据类型也有显示的优先级?如果是这样那这还是同一个变量吗,这在JS中有什么用处,菜鸟初学不是很理解。
            //document.write("<br/>"+x1);
            //document.write("<br/>"+x2);
        </script>
    </body>
</html>

运行结果显示:
图片说明

0

3个回答

JavaScript是弱类型的,不像Java有八种数据类型,JavaScript中变量都用var申明,所以你先后不管给什么值 在js 里面没什么区别,如果给通过一个变量名赋值多次,后面将会覆盖前面,没有什么优先级,也跟数据类型没关系

0

后面的赋值会把前面的覆盖,自然显示一个。我觉得动态类型的意思是同一个变量在不同的环境下可以是不同的数据类型,例如1+a,如果a是数字那1也是整型进行加法运算,如果a是字符串那1这时就当作字符串进行拼接操作

0
qq_40919174
qq_40919174 回复早稻城: 呵呵,客气了,我学编程时间也不长,之前大学学物理的
接近 2 年之前 回复
u011233710
早稻城 原来是覆盖,对于动态类型你的理解有帮助到我,非常感谢
接近 2 年之前 回复

JavaScript的变量类型是根据变量里面的数据一样的,你可以直接console.log(typeof 变量名)测试,跟java不一样的,如果只是定义var a,那么a你用typeof
得到的是undefined,如果你定义var a = "12414", typeof 得到的是string,如果你定义var a; a = "13123",这样之后a还是string。不过现在的java变量
定义渐渐开始用let定义了,var可以试着少用。

0
u011233710
早稻城 也就是说代码中只有一个变量x,不同的数据类型只是改变了x的值,前面的会被后面的覆盖,理解了,非常感谢
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JavaScrip的数据类型及变量
JavaScrip的数据类型及变量
javascrip获取变量的数据类型
JS基本类型有数字、布尔、字符串和对象类型。 typeof "" "string" typeof 1 "number" typeof true "boolean" typeof /^$/ "object" typeof Date "function" typeof new Date() "object" typeof {} "object"
javascrip学习之 数据类型和变量
JavaScript 是脚本语言、是一种轻量级的编程语言、是可插入 HTML 页面的编程代码,可由所有的现代浏览器执行。 JavaScript的语法和Java语言类似,每个语句以;结束,语句块用{......}。但是,JavaScript并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;。 数据类型: 1、基本数据类型: ...
变量名到底是变量还是地址?
1.如题,例如 COUNT DB 'ASM'rn 这个COUNT到底是变量还是地址,如果说是变量,可是COUNT+1指的却是S,如果说是地址,可是很多时候要得到COUNT的地址使用的却是LEA指令,而不是MOV指令,对于标号名,和过程名也有同样的困惑rn2.介绍下VC++6.0下如何实现汇编和C语言的混合编程,我主要弄不清楚如何在C语言中调用汇编子程序,麻烦介绍下这方面的文章,我百度和google都没找到合适的,给个链接就好,谢谢了
两种不同数据类型赋值?
本人看到如下情形:rnint i;rnvoid f();rnrni=f();rn///////////////rnvoid* ptr;rnptr 可以指向任何类型;rnrn这怎么理解?同时我想到:在类中,子类能赋值给父类,而父类不能赋值给子类。这与上面的情形有什么联系和区别?rn
变量赋值及数据类型运算
在JAVA中,byte/short/char 这三种数据类型都可以进行数据运算,比如加减乘除。 注意: 1.byte/short/char 这三种数据类型进行运算的时候都会提升为int,所得的结果也是int类型。 2.一但运算中有不同的类型,所得的结果是较大的那一个。比如int和long进行运算,得到的类型是long类型 3.对于字符串String(注意,String并不是关键字),+代表字符串连...
变量和不同的赋值方式
1 变量 makefile中支持程序设计语言中变量的概念 makefile中的变量只代表文本数据(字符串) makefile中的变量命名规则 变量名可以包括字符、数字、下划线 不能包含”:”, “#”, “=”或“ ” 变量名大小写敏感 变量的定义和使用编程实验:变量定义和使用 CC := g++ TARGET := hello-world.out$(TARGET) : func.o main.o
怎样用不同的类来定义同一个变量名
一个是panel类,一个自己扩展panel了的expanel类,rn现在想根据条件,将变量a定义为某个类,之后设置a的背景色、位置等属性,该怎么做?rnrn
bash 变量名中包含变量赋值方法
bash 变量名中包含变量赋值方法写bash脚本时经常要会有变量名中包含变量, 例如有变量 s1, s2, s3, … , 用变量 i 表示数字, 怎样方便的用for循环赋值, 解决方法是用 eval 命令. 如下:eval s${i} = ${var} 给其他变量赋值eval ss=\$s${i} 打印用echo \$s${i}
如何在对生成的变量名对应的变量赋值
各位大侠,不生有一问题正迷糊着呢??望高人指点.rnrn比如一个变量,CString test;未赋值.rnrn变量的名字(test)是通过计算而得的.rn代码如下:rn....rnCString paraname;rnparaname="test";rn....rnrn现在想作的是,如何通过对变量paranamer的操作,对test变量赋值.rnrn请各位高人指点. rn
pb如何通过变量名对变量赋值
pb如何通过变量名对变量赋值,而不是直接写固化的代码。rn例如:rn有个persion对象变量列表如下:rnstring idrnstring namernstring agern.......rnrn常规的赋值方法:rnpersion.id='1'rnpersion.name='张三'rn.......rnrn如何通过类似于java这种动态方法进行赋值:rnpersion["id"]='1'rnpersion["name"]='张三'rnrn高手多多指点,要分的帮忙顶一下,谢了!
这样叫什么?给变量的变量名赋值?
在模块里定义了一堆随机公共数组如:rnPublic ABC(8) As DoublernPublic DEF(8) As DoublernPublic safX(8) As Doublern.rn.rn.rn.rn定义很多很多公共数组.rnrnrnrn然后再在模块里造一个子程序。rnPublic Sub FontTestSet(aaa As Double, bbb As Double)rnaaa(bbb)=Form1.Text1.textrnEnd Subrn然后在窗体的某处:rnif XX=XX thenrn call FontTestSet("ABC",2)rnelseif XX=XX thenrn call FontTestSet("DEF",2)rnelseif XX=XX thenrn call FontTestSet("safX",2)rn.rn.rn.rn据据上面很多很多公共数组来elseifrnend ifrnrn不过这样做好象不行,到底要怎么做才行?rn其实我就是想在“模块”的子程序里响应窗体 if XX=XX then 的公共数值变量赋值。rnrn
delphi 定义变量同时赋值
全局变量可以定义同时赋值 var s:string = 'abc'; implementation var i:integer = 100; kk:array[1..3] of integer = (1,2,3); 函数或过程中的局部变量定义时不能直接赋值
python多个变量同时赋值
很多东西写过之后才知道自己什么都不懂。。。 多变量赋值,写起来很方便,但是结果却出乎意料 t=1 t,a=2,t+1 本来我预料a的值是2+1也就是3,结果却是2。。。 开始以为多变量赋值还是执行多个赋值语句,看来不是这样, 然后我猜想多变量赋值等号右边是从右向左执行,测试一下: def t1(): print 1 def t2(): print 2 d
Python 变量(赋值,数据类型,数据类型转换)
一.python 变量赋值方式有三种; 1.直接赋值:age = 28 2.多个变量赋值 age, sex = 28, 1 #每个变量都必须要有个对应的值 3.特殊形式的赋值(链式赋值) a = b = 28 注意,变量使用之前必须赋值,这点和C++不同,因为python 变量前面没有类型修饰符,也就无法分配存储空间; 变量名不能以关键字来命名;只能以字母,数字,和下划线来命名,不能...
Python中变量赋值与数据类型
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
同一控件不同能同时关联两个不同的变量吗?
1、我下载了一个自绘Silder源码,其中IDC_SLD_AUDIO是Silder控件,它与m_silder变量关联DX_Control(pDX, IDC_SLIDER_SHARE2, m_silder);这里的m_silder是CBitSlider类。rn2、现在我想利用这个Silder控件来控制音量,又要与控制音量的CMixerFader的类进行关联。 为此我是这样处理的:rn在头文件中:rnCMixerFader m_mainVolume;rn在cpp文件中利用下面的方法调用:rnm_mainVolume.SubclassDlgItem( IDC_SLD_AUDIO, this); rnm_mainVolume.Init( MIXERLINE_COMPONENTTYPE_DST_SPEAKERS, rn NO_SOURCE, rn MIXERCONTROL_CONTROLTYPE_VOLUME, rn CMixerFader::MAIN ); rn但是运行程序崩溃。请问:同一控件不同能同时关联两个不同的变量吗?怎么解决这个问题?谢谢!!
怎么同时提交不同的数据类型?
rnrn一个提交的是数据,一个是上传文件的,怎么把这两个要提交的数据和文件合并为一个动作,点提交的时候同时把两项都提交了?
指针是一个变量?还是一种数据类型?
指针是一个变量?还是一种数据类型?
声明变量同时给变量赋值
对于语句:DECLARE @a AS INT = 10; 来说,在图片的上部分,即SQL SERVER 2005上就会报错;在图片的下部分是SQL SERVER 2008 R2就可以顺利通过。 在一条语句中声明变量同时给变量赋值是SQL SERVER 2008的新特性,除了能让代码更简单耐读之外似乎没有什么好处。 转载于:https://blog.51c...
关于javascrip的赋值问题
var aaa=0;rn //aaa=form1.order_num.value;rn aaa=aaa+1;rn //form1.order_num.value = aaa;rn两个注释行的语句加上去rn就无法运行了rn我想要这样用,用什么方法解决啊rn谢谢大家
可不可以给一个string变量里面的变量名赋值呢?
比如我有一个str="R0", 我想给R0赋值(R0=1;)请问如何操作呢?
变量定义 赋值 很不同
1 /* 为什么 赋值操作 没有被执行。*/ 2 #include&lt;iostream&gt; 3 4 class NoName 5 { 6 public: 7 NoName(){std::cout &lt;&lt; "good defualt" &lt;&lt; std::endl;} 8 NoName(const ...
4-变量和不同赋值方式
1、变量2、变量的定义和使用CC := g++ TARGET := hello-world.out$(TARGET) : func.o main.o $(CC) -o $(TARGET) func.o main.ofunc.o : func.c $(CC) -o func.o -c func.cmain.o : main.c $(CC) -o main.o -c main.c
JAVA 与 Python 变量赋值的不同
具体例子如下: JAVA int l2Val = 0; int l1Val = 0; Python v1 = v2 = 0 直观的感觉: Python 比 Java 简洁多了。 原因: 1 JAVA强类型,每个新变量都要定义属性; 2 JAVA虽然可以连写,但是新定义属性的变量不能写在当中; 3 Python 不需要定义属性,且可以连写。
select into 不能给一个变量赋值吗?
select into 只能把结果给一个临时表,不能给一个变量吗?rn如果有这样需求,如何处理?
可以同时对同一个对象的不同数据进行读写吗?
多个线程对同一个对象操作,请问下可以同时对同一个对象的不同数据进行读写吗?rn如果不可以的话,那应该怎么办呢?rn如果是加锁的话,下面哪种方法比较好:rn1、定义一个全局变量的锁,对应着一个对象,每次改写数据的时候就打开、关闭对应的锁。rn2、在对象里面设置一个锁,然后对对象的每个数据都写一个含有锁的改写函数。rn
sy02_1:声明不同数据类型的变量
1.编写声明不同数据类型变量的程序文件 KY2_1.java,源代码如下:public class KY2_1 { public static void main(String args[]) { byte b=0x55; short s=0x55ff; int i=1000000; long l=0xffffL; char c='a...
了解不同的数据类型和变量的命名规范
1、在js中对于数据类型大致有两大类。一、基本数据类型; ①、数字类型:Number; ②、字符串类型:String; ③、布尔类型:Boolean;(布尔类型有两个值:true,false) ④、未定义类型:undefined;<!DOCTYPE html> <html> <head> <meta charset="UTF-8">
还是那道程序填空,请大家看看做的对不对?
首先感谢大家的参与和帮助,上次经过大家的启发,经过昨夜的思考,终于想出了解答。(大概有90%的可能性是对的,题目我打在下面)rn其实这一道题是三道编程题中的第一道,难度应该不大。所以不要想的太复杂。rn第一,确定EFG三个空格的答案无非就是p,last,return()等的组合。(不可能全为p或全为last)这一点大家都应该承认。rn第二,这个涵数肯定有返回值,而且返回的应是排好序的第一个指针,所以G处应填return(p),而不是return(last)。rn第三,既然G是return(p),那么E肯定是p,因为quicksort(low_head)返回的是排好序的第一个指针,这一点大家应该认同吧。所以E为p。rn第四,最难就难在F上,有两位朋友前面和我一样,但F处填p或mid->tail->next。很可惜F处应填last。为什么呢?因为F后面一句是if (last==NULL) last=mid_tail;这句话暗示了答案,后面我会举例分析。请注意last是全程的指针变量。rn第五,当执行quick_sort(p)时,比如说p只有一个数1,那么返回只有1,且last指向 1。这大家应该认同。rn第六,当p为1,2时,执行的是quicksort(high_head);而此时的high_head为2,由五可得返回是2,也就是大的数,让last指向2,总的返回p,这样虽然没有进行指针交换,但由于原来的链接关系,所以还是正确的。也就是说quicksort(high_head);返回的是后一个数。rn第七,当p为2,1时,调用的是quicksort(low_head);此时返回的是1,但要进行指针转换,last->link=mid_head;变为1,2,但由于p指向1,返回p还是正确的。rn第八,大家一定要看出来,真正比较的只有两个数。last=quicksort(high_head);rnif (last==NULL) last=mid_tail;rn这两句话的意思就是使last指向最后一个数。rnA:p!=NULLrnB:high_tail->link=p;rnC:mid_tail=p;rnD:p=p->link;rnE:prnF:lastrnG: return(p)rnrn我已经准备写主程序上机调试,有结果一定通知大家。再次感谢大家的参与。rnrnrnrn下面的程序对给定的链表p进行快速排序,与对顺序存储的线性表进行快速排序相类似,采用分治法进行处理,以链表第一个结点值作为基准,把其它结点按小于或大于基准结点值分为两组,再递归地对两组结点进行快速排叙,最后链接所有的链表。程序中last为全程的指针变量,它指向已排序链表的最后一个结点。rnrnrntypedef struct node int data;rn struct node *link;rn NODE;rnNODE *last;rnNODE *quick_sort(p)rnNODE *p;rnNODE *low_head,*low_tail,*mid_head,*mid_tail,*high_head,*high_tail;rnif (p==NULL) last=NULL;return(p);rnlow_head=low_tail=NULL;rnmid_head=mid_tail=NULL;rnhigh_head=high_tail=NULL;rnif (mid_head==NULL) mid_head=p; /*这句很奇怪*/rnelse mid_tail->link=p;rnmid_tail=p;p=p->link;rnwhile(___A___)rnif (p->datadata)rn if (low_head==NULL) low_head=p;rn else low_tail->link=p;rn low_tail=p;rn rnelse if (p->data==mid_head->data)rn if (mid_head==NULL) high_head=p;rn else _____B_____;rn _____C_____;rn rn else if (high_head==NULL) high_head=p;rn else high_tail->link=p;rn high_tail=p;rn rn____D____;rnrnif (low_head!=NULL)rnlow_tail->link=NULL;rn____E____=quicksort(low_head);rnlast->link=mid_head; /*关键*/rnrnelse p=mid_head; /*关键,看不懂*/rnif (high_head!=NULL) high_tail->link=NULL;rn___F___=quicksort(high_head);rnif (last==NULL) last=mid_tail;rn____G_____;rnrnrnrnrnrnrn
Python开发学习笔记:Python多个变量同时赋值与多个变量分别单独赋值的不同
1.多个变量同时赋值A=1 B=2 A,B=4,A+B print(&quot;a的值:&quot;,A) print(&quot;b的值:&quot;,B)以上代码输出结果A的值: 4 B的值: 32.多个变量单独赋值A=1 B=2 A=4 B=A+B print(&quot;A的值:&quot;,A) print(&quot;B的值:&quot;,B)以上代码输出结果A的值: 4 B的值: 6两种方式值不同的原因:多个变量同时赋值,当代码执行到赋值那一步时,A=4赋值还未...
在 <% %> 里面 应用一个变量 直接写变量名 还是要这样 "& &"
a
JavaScript字符串拼接变量名及赋值
某些时候需要通过传参的形式来改变或获取有规律的变量值,就可以用到变量名拼接 传参拼接变量名获取值方法一:(适用于全局变量) //通过中括号[] var str_a = '你好'; var str_b = 'hello'; function test(s){ return window['str_' + s]; } console.log(test('a')); //你好 conso...
给动态生成变量名赋值!
for(i=1;i<=3;i++)rnrneval("imgKB"+i)=i;rnrn和rnfor(i=1;i<=3;i++)rnrn"imgKB"+i=i;rnrn都不对,应该怎么写呢?
指向同一个null的两个指针,赋值后不同.
学过指针后,总记得指向同一个地址的两个指针,如果对其指向的内容进行操作是等价的.但是如果是指向的NULL,那么对其内容进行操作的结果是不一样的。因为它们并没有指向一片公共的地址。 Lnode *pre,*cur; pre = L;//L是链表的头指针 cur = pre->next; 方法一: if(cur==NULL) { cur=s;//s是一个带插入的节点 } 方法二: if(
python 动态变量名赋值
为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...
vb 赋值多个变量名为同一个表达式??
Dim a1, a2, a3, a4, a5 As Integerrnrna1=1:a2=1:a3=1:a4=1:a5=1 '这里是问题rnrnText1.Text = a1rnText2.Text = a2rnText3.Text = a3rnText4.Text = a4rnText5.Text = a5rnrn问题:a1到a5全是=1,有简便的方法可以使变量名一次过全赋值为1吗??
请教大家能使用变量做变量名吗?
如题,比如rnfor i=1 to 10rn里面能使用如AAA_i的变量吗?
不同进程同时调用同一个DLL
不同进程之间共享DLL的只读数据段,可写的数据段每个进程有单独一份,不会相互冲突啊。
javascrip变量查看器
使用: 在head 标签内直接以[removed][removed]的方式引用即可,之后页面左上角有一个灰色的小按钮出现,点开就行了.....在代码中同样可以使用 来查看变量,但有一个限制是 只能在 加载 body 标签之中或之后使用 查看 函数 文本框内输入表达式后直接按回车就行了,左边的左箭头按钮是返回上层,比如如果文本框 输入的是document.body,那么点左键头后,将返回到document 属性: useSort:Boolean 是否对结果排序,默认为true,如果不想对查看结果排序则在输入框内输入 useSort=false 即可 函数: (obj:*):void 以 for in 的方式对 obj 进行遍历,obj可以是任何参数(变量,表达式,正则,函数......) 备注: 因为在 查看 函数内部使用了正则表达式,因此 RegExp 的属性值不确定,因此请使用其它方式检测RegExp.lastIndex 或RegExp.rightContext ......之类的值
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合