Javascript是Netscape公司语言,基于对象和事件驱动。
和java的不同之处:
1,所属公司不一样。java是sun公司,现在是Orcale公司.
2,js是基于对象,java是面向对象。
3,js是由浏览器解释并执行,java是由jvm解释并执行。
4,js是弱类型的语言,java是强类型。
5,js是非严谨的,java是严谨的。
javascript运行在客户端。
javascript需要被浏览器所解释执行,就必须要将代码和html相结合。
结合方式是什么样的呢?
1,通过定义<script>标签将js代码存入其中。并指定type属性。方便与浏览器启动指定的解析引擎。
2,也可以通过<script>标签,使用src属性连接一个指定的js文件进来。
Javascript的基本语法:
1,变量。
通过var关键字定义变量,该变量可以赋予不同类型的常量。
ar x = 3;
x = "abc";
特殊的常量:undefined
2,语句。
if,switch,while,do while,for.
使用逻辑运算符进行布尔表达式连接的时候,需要是短路与和短路或。 && ||
因为在js中,非0即为true,0为false。非null为true,null为false。
js特有的语句:
with(对象){}:可以确定对象所使用的范围。在范围内,可以直接使用指定对象的属性和 行为,而不用,对象. 的形式调用。简化了对象的操作。
for(变量 in 对象):可以对对象的属性及行为进行遍历。
3,数组。
对于js的数组特点在于:该数组的长度是可变的,相对与java中的集合。
该数组中可以存放的元素类型是可以不同的 。
定格格式:
var arr = [3,true,"abc"];
var arr = new Array();
var arr = [[3,1,9],[3,4]];
操作形式和java一样。都是通过for进行遍历,同时也使用了指针思想。
4,函数。
通过function关键字定义函数。
a,一般函数。
格式:function 函数名(形式参数...)
{
执行语句;
return 返回值;
}
通常了提供代码复用可以将代码封装成函数。
两个明确:
#,明确该功能实现后的结果。
#,该功能在实现过程中是否有未知内容参与运算。
b,动态函数。
使用的Function对象。
var show = new Function("x","y","return x+y;");
动态函数的特点:可以将参数列表,和方法体作为参数传递。
c,匿名函数。
一般函数的简写形式。
function(){}
匿名函数通常可以用于事件的处理的。
如:window.onload = funciton(){alert('onload over');}
在函数使用时需要注意的部分:
function show()
{
return "show run";
}
var method = show();
var method = show;
两句代码都是正确的,
第一句表示的是show方法运行后的结果赋值给method变量。
第二句表示的是将show指向的对象的地址赋值给method。那么method也指向 了该对象。
那么就可以通过method();的形式来调用这个show方法。
--------------------------------------------------------------------------------------------------------------------------------------
js可以通过对象形式将数据进行封装。
首先对对象进行描述,通过函数来完成。
function Person(name,age)
{
this.name = name;
this.age = age;
}
var p = new Person("lisi",30);
alert(p["name"]+".."+p.age);
p.show = function()
{
alert("show run");
}
----------------------------------------------------------------------------------------------------------------------------------
Javascript中的已定义好的一些对象。
1,String,Math,Date,Array,Function
这些对象都有一个属性叫做prototype原型.
prototype可以获取指定的对象引用
可以通过该引用给已有的对象赋予一些新的功能。
那么在使用该对象时,可以直接调用定义好的新功能。
function getMax()
{
var max = 0;
for(var x=1; x<this.length; x++)
{
if(this[x]>this[max])
max = x;
}
return this[max];
}
var arr = [3,4,16,7];
arr.sort();//直接调用Array对象的sort方法对数组进行排序。
那么可不以象调用sort方法一样调用getMax方法呢?
就需要将getMax方法添加到Array对象当中。
Array.prototype.getMax = getMax;
var x = arr.getMax();
alert("max="+x);
var str = "abc";
str.substring(1,2);
str.bold();//<b>str</b>
/*//模拟一下String中fontcolor方法。
function mycolor(color)
{
return "<font color='"+color+"'>"+this+"</font>";
}
String.prototype.color = mycolor;
str.color("red");
*/
//给字符串对象定义一个新功能,去掉字符串两端空格。
function trim()
{
var start,end;
start = 0;
end = this.length-1;
while(start<=end && this.charAt(start)==" ")
start++;
while(start<=end && this.charAt(end)==" ")
end--;
return this.substring(start,end+1);
}
String.prototype.trim = trim;
var s = " ab c ";
s = s.trim();
alert("--"+s+"--");//ab c
------------------------------------------------------------------------------------------------------------------------------------
常见的全局方法。
parseInt(numstr,[radix]);//将数字格式的字符串转成整数。如果指定了基数,那numstr,就会按照执行基数进行转换。
var num = parseInt("110",2);//表示“110”这个字符串会按照二进制进行转换。
alert("num="+num);//num = 6;
var x = 6;
alert(x.toString(2));//110.//获取6对应的二进制表现形式。
分享到:
相关推荐
黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心
黑马程序员-SpringCloud-学习笔记01-认识微服务
一个最简单的Qt应用程序的代码示例也会在教程中给出,帮助新手理解基本的项目结构和运行流程。 Qt的核心机制之一是信号和槽机制。信号和槽是一种事件驱动编程模式,用于处理界面事件,比如按钮点击事件等。Qt还支持...
本文将主要围绕“黑马程序员------类加载器学习注意点”展开,探讨一些关键知识点。 首先,我们需要理解类加载器的基本工作原理。在Java中,类加载过程包括加载(Loading)、验证(Verification)、准备...
黑马程序员-SpringCloud-学习笔记-02-微服务拆分及远程调用
黑马程序员 - 毕向东 - Java基础教学 - 第02天 个人观看视频总结文档
黑马程序员-java32期培训视频(基础+就业)黑马程序员-java32期培训视频(基础+就业)
在本篇“黑马程序员---注解归纳”中,我们将深入探讨注解的基本概念、类型以及它们在实际开发中的应用。 首先,注解在Java中是一种特殊的声明,以`@`符号开头,后面跟着注解的名称。它们可以应用于类、接口、方法、...
黑马程序员 - 毕向东 - Java基础教学 - 第01天 个人观看视频总结文档
黑马程序员-Python-Django实现从0开发一个博客系统
day01_Object类、常用API day02_Collection、泛型 day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda表达式 ...
黑马程序员--毕向东全套Java视屏,讲解的相当全面,各位如果需要,尽快下载哦! 另外如果视频链接存在打不开的问题,请留言,必定及时更新链接。
总结,"黑马程序员-tomcat集群部署文档资料"涵盖的范围广泛,从基础的集群概念和原理,到具体的Tomcat集群配置和优化,再到高级的源码分析,对于希望提升服务器管理和运维能力的IT从业者来说是一份宝贵的参考资料。...
JavaBean操作类的学习是Java程序员必备的技能之一,它涉及属性设置、获取、事件处理等基本概念。以下是对JavaBean及其操作的详细解释: 1. **JavaBean规范**: - **命名规则**:通常,JavaBean的类名应该以"Bean...
标题“黑马程序员------hash改变造成的内存泄露”提示我们,这个问题与哈希值的变化有关,这可能会导致程序无法正确地释放不再使用的内存,从而影响系统性能。下面我们将深入探讨这个话题。 哈希(Hash)通常指的是...
本教程将聚焦于Java中的多线程技术,以“黑马程序员-java多线程技术01”为学习起点,探讨如何在Java中实现并管理线程。 首先,我们来理解什么是线程。线程是操作系统分配CPU时间的基本单元,一个进程中可以有多个...
在《黑马程序员 - Java基础教学 - 05 - 面向对象(1)》文档中,详细讲解了面向对象的基本概念及其在Java中的应用。 ### 面向对象与面向过程 面向对象和面向过程都是解决问题的思维模式,但面向对象更注重将功能和...
本教程将聚焦于“黑马程序员”分享的关于如何合并和切割文件的知识点,结合提供的4个文本文件(4.txt、3.txt、2.txt、1.txt)进行讲解。 首先,我们来看“合并文件”的概念。当有多个文件需要整合成一个单一的文件...
黑马程序员提供的这篇关于泛型的学习注意点,结合了源码分析和工具应用,旨在帮助开发者深入理解并有效运用泛型。下面将详细阐述泛型的主要知识点: 1. 泛型的基本概念: 泛型是Java SE 5.0引入的新特性,主要用于...