20
JavaScript for FoxPro Developers Mike Feltman F1 Technologies

Java script for foxpro developers

Embed Size (px)

Citation preview

Page 1: Java script for foxpro developers

JavaScript for FoxPro Developers

Mike Feltman

F1 Technologies

Page 2: Java script for foxpro developers

Who Am I?

• President F1 Technologies since 1990

• Co-author Visual FoxExpress

• Consultant

Page 3: Java script for foxpro developers

Agenda

• Why JavaScript?

• VFP vs. JavaScript

• JS Basics

• JS Syntax & VFP Concordance

• JS OOP

• AJAX w/ VFP

Page 4: Java script for foxpro developers

Why JavaScript?

• Web 2.0

• Great way to take VFP Skills to the Web

• In demand

• Cross-Platform

• Relatively easy for VFP Developers to pick up

Page 5: Java script for foxpro developers

VFP vs. JavaScript: Runtime Environment

VFP– Operating System:

• Windows

Version:• VFP Compiler Version

JavaScript– Operating System:

• Windows, MAC, Linux, Unix, etc.

Version:• Browser Controlled: IE,

Firefox, Opera, Safari, etc.

• 1.5 current “standard”

Page 6: Java script for foxpro developers

VFP vs. JavaScript: Development Environment

VFP– Designers: Editor, Form

Class Designer, Report Write, Class Browser, etc. built-in.

– Debugger: Integrated debugger, with Trace, Watch, Locals, Output, Call Stack

– Command Window

JavaScript– Designers: n/a, Requires

3rd Party tools. No definitive IDE

– Debugger: virtually nothing native. Varies by browser, Firebug for Firefox and Debugbar for IE.

– JavaScript Console various other Command Window like utilities.

Page 7: Java script for foxpro developers

VFP vs. JavaScript: Capabilities

VFP– Access to File System– Database Engine– Network access limited

only by network security

JavaScript– No File System

Access– Can’t read or write to

files on server– Can’t read or write to

files on client– No network access– Cannot access pages

on another domain

Page 8: Java script for foxpro developers

VFP vs. JavaScript: Language Features

VFP – Dynamically Typed– Case Insensitive– “Second Class”

Functions– No Nested Functions– Compiled or

Interpreted– OOP: Class Based– “1 based”

JavaScript– Dynamically Typed– Case Sensitive– First Class Functions– Nested Functions– Interpreted– OOP: Prototype based– “0 based”

Page 9: Java script for foxpro developers

Syntax

VFP– Line Terminator:

carriage return– Line Continuation:

semi-colon

JavaScript– Line Terminator: semi-

colon– Line Continuation: n/a

Page 10: Java script for foxpro developers

Math Operators

Function VFP JavaScript

Addition + +

Subtraction - -

Multiplication * *

Division / /

Modulus MOD() %

Unary addition x=x+1 x++

Unary subtraction

x=x-1 x--

Page 11: Java script for foxpro developers

Assignment Operators

Function VFP JavaScript

Equality = =

Addition n/a +=

Subtraction n/a -=

Multiplication n/a *=

Division n/a /=

Modulus n/a %=

Page 12: Java script for foxpro developers

Comparison Operators

Function VFP JavaScript

Equality =,== ==

Greater than >, >= >, >=

Less Than <, <= <, <=

Identical & of Same Type

n/a ===

Not Identical !=,!==,<> !==

Inline IF IIF() (condition)?true value: false value

Page 13: Java script for foxpro developers

Logical Operators

Function VFP JavaScript

And AND &&

Or OR ||

Not NOT, ! !

Page 14: Java script for foxpro developers

Constructs: If

VFP:

IF

statement(s)

ELSE

statement(s)

ENDIF

JavaScript:

if (logical expression)

{statement(s)}

else if (logical expression)

{statements}

else

{statement(s)}

Page 15: Java script for foxpro developers

Constructs: While

VFPDO WHILE expression

statements

ENDDO

EXIT

LOOP

JavaScript

while (expression)

{

statements

}

break

continue

Page 16: Java script for foxpro developers

Constructs: For

VFPFOR var = n to n STEP n

statements

ENDFOR

JavaScript

for (var=startvalue;var<=endvalue;var=var+increment)

{

statements

}

Page 17: Java script for foxpro developers

Object Model

Page 18: Java script for foxpro developers

Event Model

Page 19: Java script for foxpro developers

Forms

Page 20: Java script for foxpro developers

3rd Party