最近学了一点HTML和JavaScript。 在JavaScript里面有var变量,而且好像只有var变量。换句话说var就是个万精油,他没有确定的类型,他的类型取决于赋值给他的变量的类型。例如:

var a = 123;
var b = "123";
var c = document.getElementById("表单id");

a是数字,而b是字符串,c则是对象。var变量既有优点也有缺点。优点就是我们在声明变量时,统一都用var就OK了,不用去考虑是什么类型。而缺点就是用着用着你可能就不知道这个变量到底是什么类型的了。为了解决这个问题,我把所有的var尽量赋值为对象。例如我们要获取表单的值,我会这样做:

var d = document.getElementById("表单id");
d.value;//获取d的值

而不是这样:

var d = document.getElementById("表单id").value;

这两种方法都可获取表单里的值,但是第一种更好。第一,获取一个对象后我们还可以进行其他操作,而获取单一字符串能进行的操作就十分有限了。第二,如果工作量十分大的话,过了一段时间后你还知道d到底是对象还是字符串吗?所以统一标准对于我们编程十分重要。

这里还要给大家提个醒的是,JavaScript里的对象和java里面一样,变量只是对象的管理者而不是对象的拥有者。下面举个例子:

<form><input type="text" name="username1" id="username1"><input type="submit" onclick="getUsername()"></form><script>function getUsername(){var username2 = document.getElementById("username1");username2.value = "123";}</script>
</form>

假如我在表单里填入abc,那么我提交后,后台获取的数据是什么呢?答案是123!不熟悉java的小伙伴可能会觉得不可思议:我只是在javaScript里把一个新的变量username2的值改了嘛,username1的值为什么会变了呢?这就是Java语言的特性,变量只是对象的管理者而不是对象的拥有者。所以username1,username2共同管理一个对象,所以username2改变了,username1也当然改变了。这就是为什么很多同学在刚开始学JavaScript时不理解:为什么函数里的变量改变,会影响到函数外的变量。这跟c语言传指针进入函数是一样道理。

JavaScript里的var变量相关推荐

  1. python抓取script VAR变量

    因工作需要对一个脚本里的var变量进行提取,看了很多教程,安装了一堆的库lxml.bs4.json,后来发现都没有用,最基本的re和requests就够了,先上var所在script 内容 <s ...

  2. javascript var变量删除

    var有三种声明的情形: var声明的全局变量 var在函数范围内声明的局部变量 eval中声明的全局变量. 首先, 1.2种情形var声明的变量是无法删除的. 尽管var声明的全局变量是属于wind ...

  3. 在JSP页面中获取JavaScript中var变量的值

    在js中用var声明变量后并赋值(假设这个值为字符串"variable"),这个值 如果需要在JSP中拿出来显示可以使用此方法: 先在JSP中写一个span标签并设置ID,回到刚刚 ...

  4. javascript笔记:深入分析javascript里对象的创建(上)续篇

    今天回来一看我的博客居然有这么多人推荐真是开心极了,看来大家对我的研究有了认可,写博客的动力越来越大了,而且我发现写javascript在博客园里比较受欢迎,写java的受众似乎少多了,可能博客园里j ...

  5. JavaScript里的循环方法:forEach,for-in,for-of

    2019独角兽企业重金招聘Python工程师标准>>> JavaScript诞生已经有20多年了,我们一直使用的用来循环一个数组的方法是这样的: for (var index = 0 ...

  6. javascript里的面向对象

    2019独角兽企业重金招聘Python工程师标准>>> 前言: javascript 项目中原生态的语法用得比较少了,都是基于jQuery开发,但在移动项目中还是比较麻烦的.想整理个 ...

  7. Web前端开发笔记——第四章 JavaScript程序设计 第二节 变量

    目录 一.JavaScript中的注释 二.变量的命名规则 三.变量声明以及赋值 四.变量作用域 五.变量提升 一.JavaScript中的注释 JavaScript中单行注释通过"//&q ...

  8. java script创建对象_javascript笔记:深入分析javascript里对象的创建

    大家知道在java里面类可以具有静态属性和方法,无需实例化该类的对象,就可以访问这些属性和方法,但是javascript里面是不是只有通过对象初始化方式才会模拟出这样的特点了?其实不然,在编程语言里, ...

  9. javascript里的document.all用法收集

    javascript里的document.all用法   从IE4开始IE的object model才增加了document.all[],来看看document.all[]的Description: ...

最新文章

  1. 计算机编程书籍-Python Cookbook
  2. springboot获取getBean方法以及ApplicationContext空指针问题解决
  3. Python time localtime()方法
  4. 可以储存照片的字段类型是_sql server 中 哪个字段类型可以储存图象?
  5. 99%的人都能看懂的分布式系统「补偿」机制
  6. gpu tensorflow 怎么看是否安装成功_安装keras模块以及使用GPU加速
  7. 什么是whois? (whois的概念及应用)
  8. ZK 在XML编辑器中设置.zul文件
  9. gamit批量下载精密星历shell脚本
  10. 小米5刷android p6,小米5刷recovery教程 小米5第三方recovery下载
  11. zabbix监控服务器raid状态,基于Zabbix的MegaRAID阵列卡状态监控
  12. 重庆大学计算机学院王臣,重庆大学UMD研究生网络文化工作室学生干部述职大会暨换届选举大会圆满落幕...
  13. 微信扫描打开APP下载链接提示代码案例源码
  14. java 抓图程序的实现
  15. Zynga公布2021年第二季度财务业绩
  16. 如何保证代码的健壮性和可读性
  17. 拍沪牌服务器响应,上海虹口代拍沪牌费用,百兆光线实时响应
  18. 查看和调试core文件
  19. SteamVR 2.x 手柄使用3D物体(14)
  20. Microsoft Visual Studio Installer Projects下载缓慢下载不动的解决办法

热门文章

  1. NVIDIA Jetson tx2 cuda和cudnn安装_刷机失败,手动离线安装
  2. 【快速上手教程1】开源编队无人机-开机测试
  3. SLAM十四讲之第5讲--相机标定
  4. mavne更新或新建model后项目的language leval会被重置
  5. apache评分标准_危重病人APACHE II评分表(标准)
  6. 为什么总学不好PS?300集PS从入门到高级自学教程,全面且系统
  7. openwrt 19.07报错:module ‘luci.cbi‘ not found
  8. 美国-机械故障预防技术学会MFPT
  9. 罗克韦尔自动化收购MESTECH Services
  10. PHP+Redis令牌桶算法 接口限流