javascript笔记整理(概述,变量,数据类型)
A.概述
1.输出工具:
document.write()---可以是html
alert()---字符串
prompt(text,defaultText)
text---可选。要在对话框中显示的纯文本(而不是 HTML 格式的文本)。
defaultText---可选。默认的输入文本。
2.js的放置
a.可以再HTML的任何位置放置
b.但他是一个整体,相互影响
c.在超链接和重定向的位置
<a href="javascript:alert();"></a>
<form action="javascript:alert();"></form>
<div onclick="alert()"></div>
********IE下可行,不推荐使用********
<div id="one"></div>
<script for="one" event="onclick">
alert(111);
</script>
d.调用外部javascript文件
<script src=""></script>
1.调用的js标签内不能出现任何代码
2.js脚本内不能出现<script>标签
3.还是相互联系、影响的
3.注释
a.对旧的浏览器
<!-- -->
*如果旧浏览器不识别JS,就注释
b.真正的注释
行内注释 //
块注释 /* */
B.变量
1.命名规范
a.严格区分大小写
b.变量的命名必须以 字母 或 _ 或 $ 开头;余下的部分可以是任意的字母、数字、_ 、$
c.不能用 关键字 或者 保留字 命名
关键字:for、if、try等
保留字:byte、char、class等
d.命名规范
驼峰命名法: getElementById
首字母大写: Object
有意义的命名:name、age
2.变量:可以存储数据的一个变量
a.变量如何创建(**必须以var关键字来修饰**)
先声明,后赋值:var a;a=3;
声明赋值同时进行:var a=3;
一次声明多个变量:var a,b,c;
一次声明多个变量并赋值: var a=1,b=2;
b.如何覆盖已有的变量
1.如果从新声明改变量而没有赋值,该变量的值不会改变
var a=1;var a; 结果a=1;
2.如果从新声明改变量并且赋值,该变量的值改变为新的变量值
var a=1;a=3; 结果a=3;
3.不用关键字var修饰变量
a;alert(a); 报错
a=1;alert(a) 结果:1
如果不用var修饰,且没有赋值---报错;有赋值,js会当做全局变量,不会报错。(后者不推荐)
C.数据类型
typeof()操作符:用来检测数据类型的一元运算符,并且返回的结果始终是字符串
isNaN() 函数用于检查其参数是否是非数字值
1.初始类型
a.undefined--变量创建后没有赋值,其默认值就是undefined
b.null--什么都没有,仅一个占位符
c.number--整形、浮点型;支持二、八、十、十六进制,都是按十进制输出;特殊的值
1.二、八进制:以0开头
2.十六进制:以0x开头
3.特殊的值:
最大:Number.MAX_VALUE
最小:Number.MIN_VALUE
无穷大:Infinity
无穷小:-Infinity
d.string--单双引号包围的字符串,还包括一些特殊字符
1.单双引号的效率一样的(不同于PHP)
2.只能成对出现,不能相互交叉使用
3.可以相互嵌套 var a="a '11' ";
4.特殊字符
\n 换行
\t 制表符
\b 空格
\r 换行
\' 单引号
\" 双引号
\\ 斜杠
2.引用类型
| 类型 | 值 | typeof返回值 |
| undefined | undefined | undefined |
| null | null | object |
| boolean | ture,false | bollean |
| string | 在单双引号之间的值,特殊符号 | string |
javascript笔记整理(概述,变量,数据类型)的更多相关文章
- javascript笔记整理(变量作用域)
变量的作用域(作用域:指的就是一段代码的作用范围) 一.变量的作用域 1.全局变量(在代码中任何地方都能够访问得到的变量,拥有全局的作用域) A.最外层函数外面定义的变量 var a=1; funct ...
- javascript笔记整理(数据类型强制/隐式转换 )
A.数据类型强制转换 1.转换为数值类型 Number(参数) 把任何的类型转换为数值类型 A.如果是布尔值,false为0,true为1 var a=false;alert(Number(a)); ...
- javascript笔记整理(函数)
javascript函数的声明和调用将完成某一特定功能的代码集合起来,可以重复使用的代码块. 一.函数的声明方式(创建) A.基本语法(function 关键字)function 函数名([参数1] ...
- JavaScript笔记整理
整理一篇工作中的JavaScript脚本笔记,不定时更新,笔记来自网上资料或者自己经验归纳. (1) 获取Url绝对路径 function getUrlRelativePath() { var url ...
- javascript笔记整理(运算符 )
1.运算符和操作数的组合就称为表达式. 2.算术运算符(+ - * / % a++ a-- --a ++a) a.+ 1.用于数值计算:var a=1;var b=2;alert(a+b)===3 2 ...
- javascript笔记整理(事件)
一.事件驱动 1.事件javascript侦测到的用户的操作或是页面的一些行为(怎么发生的) 2.事件源引发事件的元素(发生在谁的身上) 3.事件处理程序对事件处理的程序或是函数 (发生了什么事) 二 ...
- javascript笔记整理(对象的继承顺序、分类)
Object.prototype.say=function(){ alert("我是顶层的方法"); } children.prototype=new parent(); pare ...
- javascript笔记整理(对象遍历封装继承)
一.javascript对象遍历 1.javascript属性访问 对象.属性名 对象['属性名'] var obj={name:'chen',red:function(){ alert(1);ret ...
- javascript笔记整理(对象基础)
一.名词解释 1.基于对象(一切皆对象,以对象的概念来编程) 2.面向对象编程(Object Oriented Programming,OOP) A.对象(JavaScript 中的所有事物都是对象) ...
随机推荐
- Android 开发笔记 “SQLite”
SQLite 入门与分析 1.SQLite介绍 自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分.正与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系统资源, ...
- linux系统调用和库函数调用的区别(转)
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions).可以参考<Linux程序设计>(英文原版为<Beginning ...
- 数据结构——二叉树(Binary Trees)
非线性数据结构 二叉搜索树(Binary Search Tree) 树的密度=结点数/高度 二叉树类 #pragma once class stnode { public: int nodeValue ...
- android -- 蓝牙 bluetooth (二) 打开蓝牙
4.2的蓝牙打开流程这一部分还是有些变化的,从界面上看蓝牙开关就是设置settings里那个switch开关,widget开关当然也可以,起点不同而已,后续的流程是一样的.先来看systemServe ...
- 【LigerUI】ajax请求firefox返回NS_BINDING_ABORTED
在ligergrid中请求链接,post提交,返回NS_BINDING_ABORTED. 是因为ligergrid中默认是异步提交方式,如果没有设置同步的话, 在请求该链接的时候第一次请求还没有执行完 ...
- 使用Sphinx生成静态网页
转载来自 http://www.ibm.com/developerworks/cn/opensource/os-sphinx-documentation/ 简介 Sphinx 是一种工具,它允许开发人 ...
- bmp图片数据提取
仿照别人的程序写的bmp数据提取C代码,并将提取的数据放到txt文档中 /* date : 2014/06/24 designer :pengxiaoen version : dev4.9.9.0 f ...
- ognl--数据运转的催化剂
原文链接:http://struts2.group.iteye.com/group/wiki/1353-ognl-catalyst-for-data-operation-in-struts2 首先让我 ...
- 感觉Release有时比Debug要健壮
评估文件夹大小的时候,直接跨线程操作UI界面,Debug崩溃,Release不崩溃. 更多的一种情况是,本机DEBUG下不崩溃,把RELEASE版本到别的机子上,立刻崩溃(登录框的进度条的对象为空,仍 ...
- FreePascal的VMT与Delphi不一致,没有负方向
因为不需要与C++兼容嘛:http://www.freepascal.org/docs-html/prog/progsu168.html 如果要想取得它真正的VMT,可以Pointer强行转换+100 ...