JS中的变量和输入输出

一、使用JS的三种方式


1、在HTML标签中,直接内嵌JS(并不提倡使用)


<button onclick="alert(‘点你咋地‘)">点我</button>

>>> 不符合w3c关于内容与行为分离的要求

2、在HTML页面中使用<script></script>包裹JS代码


<script type="text/javascript">

//JS代码

</script>

>>> script标签可以放到页面的任何位置

3、引入外部的JS文件:


<script language="JavaScript" src="js/01.js"></script>

[注意事项]

① <script></script>可以嵌入到页面的任何位置。但是,位置的不同会导致JS代码的执行

顺序不同

比如:<script></script>放到<body>前面,则JS代码会在页面加载之前就执行

② 引入外部的JS代码,<script></script>必须是成对出现的标签。而且,标签中不能再有

任何的JS代码

/*

* JS中的多行注释。Ctrl+Shift+/

*/

// JS中的单行注释。Ctrl+/

二、JS中的变量


1、JS中变量声明的写法


var num=10;//使用var声明的变量,属于局部变量,只在当前作用域内有效

num=10;//不用var声明的变量,默认为全局变量,在整个JS文件中都有效

var x=9,y,z=10;//使用一行语句同时声明多个变量。上式中,y属于已声明,但是未

赋值状态,结果为undefined

[声明变量的注意事项]

① JS中所有变量的声明,均使用var关键字。变量具体是什么数字类型,取决给变

量赋值的类型

② JS中同一个变量,可以在多次不同赋值时,修改变量的数据类型

var a=10;//从初始声明时,a属于整数型;

a="哈哈哈";//重复赋值时,整数型的a被修改为字符串类型

③ 变量可以使用var声明,也可以不使用var声明。[区别]使用var声明为局部变量,

不使用var声明为全局变量

④ 只用var声明,但是不赋值,结果为undefined

例如:var a;//a为undefined

但是,如果不声明也不赋值的a,直接使用会报错

⑤ 同一变量名可以多次使用var声明。但是,后面的var并没有什么用;第二次使用

var声明时,只会被理解为普通

2、变量名的命名要求:


① 变量名,只能有字母、数字、下划线组成;

② 开头不能是数字;

③ 变量名区分大小写,大写字母与小写字母为不同变量;

3、变量名的命名规范:


① 要符合小驼峰法则(骆驼命名法):

首字母小写,之后每个单词的首字母大写;

myNameIs

② 或者使用匈牙利命名法:

所有字母小写,单词之间用_分隔

my_name_is

③ mynameis 能用,但是不规范

4、JS中的数据类型:


Undefined:未定义。已经使用var声明的变量,但是没有赋值

Null:表示空的引用

Boolean:布尔类型。表示真假,只有两个值:true/flase

Number:数值类型。可以是整数,也可以是小数

String:字符串类型。用 "  " 或 ‘  ‘ 包裹的内容,成为字符串

Object:对象类型,后续讲解...

5、【常用的数值函数】


① isNaN():判断一个变量或常量,是否是NaN(not a num 非数值);

使用isNaN()判断时,会尝试使用Number()函数进行转换,如果最终结果能够

转为数字,则不是NaN,结果为false

② Number()函数:将其他类型的数据,尝试转为数值型;

[字符串类型]

>>> 字符串为纯数值字符串,会转为对应的数字; "111"->111

>>> 字符串为空字符串,会转为0; "  "->0

>>> 字符串包含任何其他字符时,都不能转; "1a"->NaN

[Boolean类型]

true->1    false->0

[Null/Undefind]

Null->0    Undefind->NaN

[Object]

*(后续讲解)

③ ParseInt():将字符串转为整数类型

>>> 纯数值字符串,能转。

"12"->12;"12.9"->12(小数转化时,直接抹掉小数点,不进行四舍五入)

>>> 空字符串,不能转。""->NaN

>>> 包含其他字符的字符串,会截取第一个非数值字符串前的数字部分

"123a456"->123, "a123b456"->NaN

>>> ParseInt()只能转字符串,转其他类型,全是NaN

[Number函数与ParseInt函数的区别]

1.Number函数可以转各种数据类型,ParseInt函数只能转字符串

2.两者在转字符串时,结果不完全相同。(详见上面解释)

④ ParseFloat:将字符串转为字符型;

转换规则与ParseInt相同,只是如果有小数,则保留小数点;如果没有小数,

则依然是整数

12.5"->12.5;  "12"->12

⑤ typeof:检测变量的数据类型

字符串->String          true/false->Boolen   数值->Number

未定义->undefined    对象/Null->object     函数->function

三、JS中常用的输入输出语句


1、document.write(  );将( )中的内容,打印输出到浏览器屏幕上;


使用时需注意:除变量/常量外的所有内容,必须放到""中。变量和常量必须放到""外

如果同时有变量和字符串,必须用+链接;

eg:document.write("左手中的纸牌:"+left+"<br />

2、alert(  );使用弹框输出


弹窗警告,()中的内容与上述要求相同

3、prompt(  );弹框输入


接收两部分参数:

① 输入框上面的提示内容,可选;

② 输入框里面的默认信息,可选;

当只写一部分时,表示输入框上面的提示内容

可以定义变量,接收输入的内容。点击确定按钮,变量将被赋值为输入的内容;

点击取消按钮,变量将被赋值为null

输入内容时,默认接收的数据类型都是字符串!!!

时间: 2024-10-12 16:06:55

JS中的变量和输入输出的相关文章

JavaScript入门:003—JS中的变量

编程语言都是相同的,JS中也是有变量的.首先JS的变量是区分大小写的,这个需要注意,比如number和Number是不同的变量.不管是常用类型的,还是对象类型,比如 Object obj和Object Obj是两个对象.然后是对变量赋值,这个基本都一样,可以先声明再赋值, var i; i=0; 也可以声明时赋值, var i=2; 而变量如果你不重新赋值,它是不会改变的,比如 var i=2: var i; 因为i没有重新赋值,所以i还是2.而对于对象变量则比较有意思,不需要向那些java,c

JS中的变量及注意点

参考: http://www.blogjava.net/baoyaer/articles/105921.html http://zhidao.baidu.com/link?url=8swl8GsS3UlFcNqxXBPI0LdpIzKx0WSxP-idnhA9oCZElLY8NMwAsiIljfyRuzp0lrBeX72SoufdDUOHc0r5D_ 程序: function printVar(v){ document.write(v+ '<br>'); } printVar("**

js中的变量作用域问题

变量既可以是全局的,也可以是局部的. 全局变量可以在脚本的任何位置被引用.一旦你在脚本里声明了一个全局变量,就可以从这个脚本中的任何位置--包括函数内部引用它.全局变量的作用域是整个脚本. 局部变量只存在于声明它的那个函数的内部,在那个函数的外部是无法引用它的.局部变量的作用域仅限于某个特定的函数. 注意:在js中块级别中用var声明的变量也是全局变量. 如果在一个函数中使用了var声明一个变量,那么这个变量就是一个局部变量,它只存在于函数的上下文中.如果没用使用var声明一个变量,而是直接写了

深入理解JS中的变量作用域

在JS当中一个变量的作用域(scope)是程序中定义这个变量的区域.变量分为两类:全局(global)的和局部的.其中全局变量的作用域是全局性的,即在JavaScript代码中,它处处都有定义.而在函数之内声明的变量,就只在函数体内部有定义.它们是局部变量,作用域是局部性的.函数的参数也是局部变量,它们只在函数体内部有定义. 我们可以借助JavaScript的作用域链(scope chain)更好地了解变量的作用域.每个JavaScript执行环境都有一个和它关联在一起的作用域链.这个作用域链是

js中的变量类型

js 中输出定义变量的类型  typeof  变量名. var u:  --underfined类型 var s = "你是一个好人":   --string类型 var n = 10;   --number类型 var  num = NaN;  --number 类型,not a number. var  n = null:   -- object类型 var d = new Date();   --时间 var a = new Array();   --数组

JS 中对变量类型的判断

总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toString.call  或 jquery中的 $.type 检测 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array,

JS 中对变量类型的五种判断方法

5种基本数据类型:undefined.null.boolean.unmber.string 复杂数据类型:object. object:array.function.date等 方法一:使用typeof检测 当需要变量是否是number,string,boolean ,function,undefined,json类型时,可以使用typeof进行判断:其他变量是判断不出类型的,包括null. typeof是区分不出array和json类型的,因为使用typeof这个变量时,array和json类

js中的变量提升和函数提升

1在js中只有两种作用域 a:全局作用域 b:函数作用域 在ES6之前,js是没有块级作用域. 首先来解释一下什么是没有块级作用域? 所以此时 是可以打印输出变量a的值. 2:什么是变量提升? 在我们的js中,代码的执行时分两步走的,1.解析 2.一步一步执行 那么变量提升就是变量声明会被提升到作用域的最顶上去,也就是该变量不管是在作用域的哪个地方声明的,都会提升到作作用域的最顶上去. 那么上面这种写法其实等价于下面这种写法: 看几个例子: 把上面的例子稍作改动: 结果就会大不一样, 再看一个例

js中的变量提升

在js中 变量声明与赋值被认为是两个不同的操作,引擎首先会对前者进行优先编译,这部分工作就是找到所有的声明(例如函数声明function b(注:非函数表达式),变量声明var a),既然是优先执行,那么在一些代码结构中,后声明的function,var 变量就会提前解释: 例如 var a=3:引擎会认为这是两个操作  var a(声明); a=3(赋值),简而言之就是 先有蛋 后有鸡, 理解了这一点 这就很好解释如下的代码结构及其输出 a=2;var a; //定义声明提升console.l