1 什么是JavaScript?

是一种嵌入在网页中的程序段。
是一种解释型语言,被浏览器解释执行。
由Netscape发明,ECMA(欧洲计算机制造商协会)将其标准化。
JavaScript借用了Java的名字,但它和java没有关系。
出于安全性考虑,增加了JavaScript的限制
增强客户端的交互功能。
 
JavaScript与java的区别:
JS只在浏览器中执行,java可在各种平台上执行。
JS也有变量,常量,运算符,关键字,数据类型,语句等。
JS借用了Java的语法,其运算符和表达式与Java非常相似。
 
2 JavaScript能做什么?
可以使用JS添加、删除、修改网页上的所有元素及属性。
在HTML网页中动态写入文本。
响应网页中的事件,并做出相应处理。
可用于较验客户端提交的数据。
检测浏览器类型及版本。
    (判断浏览器类型:)
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>跨浏览器编程</title>
<script type="text/javascript">
function browserType(even){
if(window.event){//判断是不是IE浏览器
document.getElementById('p1').innerHTML='IE';
}
else if(even){//判断是不是DOM兼容浏览器
document.getElementById('p1').innerHTML='DOM' ;
}
} </script>
</head>
<body>
<button onclick="browserType(event);"> Hello JavaScript Event Object</button>
<p id="p1">到底是什么浏览器呢</p>
</body>
</html>
处理Cookie.
 
3 JavaScript的技术体系
核心语言定义
原生对象和内置对象
BOM(浏览器对象模式)
DOM (文档对象模式)
事件处理模型
 
4 将JavaScript添加到XHTML文档中
 使用script元素在XHTML文档中直接嵌入JavaScript语句---方便
 <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
alert("使用script元素在XHTML文档中直接嵌入JavaScript语句");
</script> </body>
</html>
 将JavaScript源文件通过<script>元素的src属性链接到XHTML文档---结构、表现、行为分离
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/two.js"></script>
</head>
<body>
<form action="#" method="get">
<input type="button" value="点击" onclick="alertTest();">
</form> </body>
</html>

在two.js里包含的脚本

function alertTest(){
alert("链接外部脚本");
}
 脚本包含在XHTML事件处理程序性中,eg:onclick  ondblclick onkeydown ...
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<!--<script type="text/javascript" src="../js/two.js"></script>-->
</head>
<body>
<form action="#" method="get">
<input type="button" value="点击" onclick="alert('脚本包含在XHTML中');">
</form> </body>
</html>

5 JavaScript变量

JS中声明变量都用关键字var,并且JS区分大小写

弱类型,不一定要初始化

在声明变量时注意的一些小细节:

声明变量后 第一次给变量赋什么样类型的值,以后必须使用相同的类型

当我们没有使用var 定义变量的时候 如果没有给变量赋值 就会报错 如果给它赋值了。 宿主环境 (浏览器)就把 认为一个 全局变量

var  num;   当声明的变量未初始化时,值为undefined。
6 JavaScript数据类型
6.1 原始数据类型 typeof运算符
typeof运算符有一个参数,即要检查的变量或值;
在使用typeof运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,他都返回"Object";
用另一个运算符instanceof来解决这个问题;
eg
var s=new String('hello js');
alert(s instanceof String);// 输出"true"
这个需要开发者明确的指出对象为某特定的类型
–Undefined:

•当声明的变量未初始化时,值为undefined。

•当函数无明确返回值时,其调用结果也是undefined。
 
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script>
function test(){
alert("1111");
return 1;
}
// var i = test(); //当函数无明确返回值时,其调用结果也是undefined。
// var i = test() ;// 先调用函数test 任何把返回值赋值为i undefined
var i = test ; //是把函数test的地址赋值给了i;
alert(i);
alert(typeof (i));
</script>
</head>
<body>
</body>
</html>
–Null

•值为null,null是从Undefined派生来的。因此null==undefined

•null表示不存在的对象。
var i = null;
alert(i);//null
alert(typeof (i));//object
–Boolean

•true或false

–Number

•即可表示32位整数,也可表示64位浮点数。

•Number.MAX_VALUE和Number.MIN_VALUE定义了上下限。

•Number.POSITIVE_INFINITY和Number.NEGATIVE_INFINITY Infinity表示无穷大。isFinite()较验是否无穷大。无穷大返回false

•NaN表示非数字,它与自身不相等。一般发生在类型转换失败时,isNaN()较验是否为数字。

–String

•可用单引号或双引号声明。

数据类型转换
parseInt()

从左到右依次解析 直到遇见解析的那个字符不是是数字, 则结束
parseFloat
从左到右依次解析 直到遇见解析的那个字符不是是数字,则结束, 从有效数字开始,只会出现一个小数点。
var a = parseInt("1234"); //返回1234

var b = parseInt("abc"); //返回NaN
var b = parseFloat("012.23.45"); //返回12.23
 
强制类型转换有三种:Boolean(value)  Number(value)   String(value)
当要转换的值是至少有一个字符的字符串,非0数字或对象时,Boolean()函数返回true,如果该值是空字符串,数字0,undefined或null,将返回false;
Number 转换的时候 是把 字符串当一个整体来转换;
String 转换的时候 只需要调用作为参数传递进来的值的toString()方法;
 6.2 引用数据类型
          原生对象
–由JavaScript提供,独立于浏览器的对象。
–Object,Array,String,Boolean,Number,Date,RegExp...
          内置对象
–也是一种原生对象,只是在使用时不需要初始化。
–Global,Math
         宿主对象
–与浏览器有关的对象。
–BOM,DOM
        自定义对象
 
数组对象:
Array 对数组的内部支持
Array.concat( ) 连接数组
Array.join( ) 将数组元素连接起来以构建一个字符串
Array.length 数组的大小
Array.pop( ) 删除并返回数组的最后一个元素
Array.push( ) 给数组添加元素
Array.reverse( ) 颠倒数组中元素的顺序
Array.shift( ) 将元素移出数组
Array.slice( ) 返回数组的一部分
Array.sort( ) 对数组元素进行排序
Array.splice( ) 插入、删除或替换数组的元素
Array.toLocaleString( ) 把数组转换成局部字符串
Array.toString( ) 将数组转换成一个字符串
Array.unshift( ) 在数组头部插入一个元素




 
 
 
 
 
 
 
 
 

JavaScript核心基础语法的更多相关文章

  1. JavaScript编程:javaScript核心基础语法

    1.javaScript核心基础语法: javaScript技术体系包含了5个内容:          1.核心语言定义:          2.原生对象和雷子对象:          3.浏览器对象 ...

  2. JavaScript的基础语法及DOM元素和事件

    一,JavaScript是什么? 1,JavaScript简称:js,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行.主要用来实现网页的动态效果,用户交互及前后端的数据传输等. 2,J ...

  3. JavaScript的基础语法,你真的了解吗?

    这篇文章是在我们熟悉了JS的基础语法后,很少有人去关注的一些细节部分.如果掌握了某些细节也许会对代码的改善有着非凡的作用.也许会使我们的代码更严谨,更高效. 1.if语句的条件 if条件中,括号里是布 ...

  4. JavaScript 正则表达式基础语法

    前言 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当 ...

  5. JavaScript的基础语法

    对于Javascript的而言没有数据类型的全部都是通过var来定义创建的.比如: <!DOCTYPE html> <html> <head> <meta c ...

  6. JavaScript数据类型 —— 基础语法(2)

    JavaScript基础语法(2) 数据类型 js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object) ...

  7. JavaScript之基础语法

    第一章 javascript语法 一, js代码的引入 方式一:在html页写js代码 <script> alert('hello,world') </script> 方式二: ...

  8. 1.JavaScript 教程:基础语法

    简介: JavaScript web 开发人员必须学习的 3 门语言中的一门: HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的行为 用法: (1)HTML 中的脚本 ...

  9. JavaScript面向对象基础语法总结

    1.Javascript的 对象(Object): //例子:var car = { , , }; 2.使用构造函数来创建对象. //例子: var Car = function() { ; ; ; ...

随机推荐

  1. Android 获取高度宽度为0的时候的处理

    转自http://my.oschina.net/xiahuawuyu/blog/167949 我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例: 首先我们自己写一 ...

  2. 第81讲:Scala中List的构造和类型约束逆变、协变、下界详解

    今天来学习一下scala中List的构造和类型约束等内容. 让我们来看一下代码 package scala.learn /** * @author zhang */abstract class Big ...

  3. pycharm的注册码,所有版本

    77751S0VBA-eyJsaWNlbnNlSWQiOiI3Nzc1MVMwVkJBIiwibGljZW5zZWVOYW1lIjoi5b285bK4IHNvZnR3YXJlMiIsImFzc2lnb ...

  4. STL容器之一vector

    STL中最简单也是最有用的容器之一是vector<T>类模板,称为向量容器,是序列类型容器中的一种. 1.vector<T> 对象的基本用法(1)声明:vector<ty ...

  5. RMQ算法区间最值

    问题类型:是多次询问一个大区间里子区间的最值问题 dp + 位运算的思想处理 rmax[i][j]表示从i开始到i + 2^j - 1的区间里的最大值dp[i][j] ==== (i,i + 2^j ...

  6. HDU2844买表——多重背包初探

    HDU2844买表多重背包问题题目大意都不大好懂,是利用手头上的硬币看看能组合出多少种价格,也就是跑完背包,看看有多少背包符合要求 剩下的就是多重背包的问题了1.第一个处理办法就是直接当01背包进行存 ...

  7. jQuery插件初级练习2答案

    html: $.font($("p"),"30px").html("变化了") jQuery: $.extend({ font:functi ...

  8. HRBUST 1161 树状数组区间更新求和

    Leyni Time Limit: 3000 MS Memory Limit: 65536 K Total Submit: 267(64 users) Total Accepted: 82(57 us ...

  9. cxGrid用法-最新

    cxGrid用法-最新 在做AdoHelper实用程序的时候,我用了DevExpress的cxGrid控件.在此之前用的是dbgrid,考虑到不能把所有的数据都拉到本地,我用了动态生成的select ...

  10. Docker 持续集成初次体验

    背景 在家的时候,实在不想做其他的,想起之前参加的一场关于docker的座谈会,于是想搞以下docker. 开始 在道客云上搞了一下持续集成,总体来说,比较好用的. 写了一个Go程序,就是之前写的发邮 ...