Oracle 1z0-591

Oracle 1z0-591

Oracle 1z0-591

QUESTION NO: 1

When a customer wants to get sales numbers by day, how is data stored in the Star Schema, if
the data is loaded nightly?

A. The lowest level of aggregation
B. The highest level of aggregation
C. Multiple levels of aggregation
D. Independently from aggregation level

Answer: A

QUESTION NO: 2

The highest sales amount for this year is $10,000. If you create a rank measure for sales this year
and display it on a report, the value will be________.

A. $10,000
B. 0
C. 1
D. Year

Answer: C

Explanation: The rank measure is numbered from 1. The highest sales amount will be ranked 1.

QUESTION NO: 3

Which two components are required for all OBIEE installations?

A. Admin Server
B. RCU Schema
C. Managed Server
D. Node Manager

E. Oracle 11g

Answer: B,E

Explanation: B: Before you can run Oracle Business Intelligence 11g Installer, you must first
create
required Oracle Business Intelligence schemas in an unhardened database. You use
a tool called the Repository Creation Utility (RCU) to create these schemas with
the appropriate permissions and data.
E: The database 11gR2 is required if you want to run the Oracle Business Intelligence Enterprise
Edition Plus Samples
One Oracle Database Preinstalled and not hardened to host the schemas.

QUESTION NO: 4

The administration tool is the developer's interface to the repository file. It allows the development
of and changes to the metadata repository file. Which statement is true?

A. Changes to the repository can only be carried out in offline mode.
B. Multiple developers can work on one repository at the same time. Results can be merged later
on.
C. All aspects of security are being held in the repository file.
D. Opening the rpd.file in online mode results in performance Issues for the application user.

Answer: B

Explanation: The Oracle BI repository development process adheres to the classic Software
Configuration Management (SCM)process, which utilizes a three-way merge to manage
concurrent development.
The merge process involves three repositories:
In a multiuser environment (MUDE), Developers check out the file and make changes locally.
Then, these changes are automatically reconciled and merged into the master repository.

QUESTION NO: 5

Which installation option is used to install into an existing Fusion Middleware Home?

A. Software Only Install
B. Simple Install
C. Enterprise Install
D. Cannot install into an existing Fusion Middleware Home

Answer: A
Explanation: The Software Only Install type installs the Oracle Business Intelligence software
binary files in an Oracle home for later configuration as part of a Fusion Middleware
deployment.

QUESTION NO: 6

What are the two methodologies that are followed within an OBIEE implementation?

A. Do not use prototypes
B. Use an iterative approach
C. Start with a small model and then enhance the repository
D. Start with a big repository and trim it down with the requirements

Answer: B,C

QUESTION NO: 7

Which option describes how OBIEE Integrates with Planning?

A. OBIEE primarily accesses Planning using standard Essbase integration techniques.
B. OBIEE provides complete access to all Planning data through the Analytic Data Model (ADM)
layer.
C. Planning is not a supported OBIEE source.
D. OBIEE integrates with Planning directly through relational database access.

Answer: A

QUESTION NO: 8
What is an example of a Session Variable?
A. ETL Load Date
B. User Organization
C. OLAP DSN
D. Top Customers by Revenue
Answer: B
Explanation:
Note 1: There are four types of variables that you can use:
Session
Repository
Presentation
Request
Note 2: Session Variables
A session variable is a variable that is initialized at login time for each user. When a user begins a
session, the Oracle BI Server creates a new instance of a session variable and initializes it.
There are as many instances of a session variable as there are active sessions on the Oracle BI
Server. Each instance of a session variable could be initialized to a different value.
There are two types of session variables:
System — A session variable that the Oracle BI Server and Oracle BI Presentation Services use
for specific purposes.
System session variables have reserved names that cannot be used for other kinds of variables
(such as static or dynamic repository variables and non-system session variables).
Non-system — A system variable that the administrator creates and names. For example, the
administrator might create a SalesRegion non-system variable that initializes the name of a user's
sales region.
The administrator creates non-system session variables using the Oracle BI Administration Tool.

QUESTION NO: 9
Which option is used to enter the rank function when creating a new rank measure?
A. Initialization Block
B. Expression Builder
C. Connection Pool
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 6
D. Web Catalog
Answer: B
Explanation:
Example (see step 4 and 5 below): Getting Top-N Sales Reps for Year and Year-1
1. Under the “Business Model and Mapping” Layer, right click the “F1 Revenue” and select “New
Object” -> “Logical Column…”
2. In the “Logical Column” Window give for Name: Year Ago Revenue as seen below:
3. Goto the “Column Source” Tab and select “Derived from existing columns using an expression”
radio button then click on the “Edit Expression” icon.
4. Enter the following expression in the “Expression Builder” Window by selecting “Functions” in
the “Category:” list, “Time Series Functions” in the “Functions:” list then “Ago” “Time Series
Functions:” section.

5. Select the “<<Measure>>” in the “Ago( )” function, then select “Logical Tables” in the
“Category:” list, “F1 Revenue” in the “Logical Tables:” list, then double click the “Revenue” in the
“Columns:” list.
Etc.
QUESTION NO: 10
Query limits tab can be accessed through________.
A. Security Manager, Query tab, Application role dialog box, Permissions
B. Security Manager, Application Roles tab, Query dialog box, Permissions
C. Security Manager, Application Roles tab, Application role dialog box, Permissions
D. Security Manager, Application Roles tab, Application role dialog box, Query Properties
Answer: C
Explanation: Query environment can be managed by setting query limits (governors) in the
Repository (RPD) for particular Application Roles. You should always set query limits for particular
application roles rather than for individual users.
Steps:
1. Login to Repository using OBIEE Admin Tool
2. Navigate to Manage > Identity
3. Go to Application Role tab, choose the role and double click on it to open.
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 8
4. Click on Permissions tab
5. Set the Query Limits. You can limit queries by the number of rows received, by maximum run
time, and by restricting to particular time periods. You can also allow or disallow direct database
requests or the Populate privilege.


QUESTION NO: 11
One of the most common uses of Dynamic Repository Variables is to setup filters for use in
reporting. Which variable below is a valid example of a Dynamic Repository Variable?
A. Year
B. Month
C. Quarter
D. CurrentMonth
Answer: D
Explanation: CurrentMonth can be calculated by a sql statement.
Note:
REPOSITORY VARIABLE(DYNAMIC)
· Initialized when BI server is started
· Assigned value dynamically based on the result of a query
· Value is dependent of the sql provided in Initialization Block
Create a dynamic variable and provide a Name and Default Initializer.Create a new initialization
block by clicking on the New button in the above screen.

Provide Intialization Block variable Name

Click on “Edit Data Source” button and provide the sql to be used for the variable, e.g.
select lower(sys_context('USERENV','SESSION_USER'))||
'@'||
lower(sys_context('USERENV','DB_NAME'))
from dual;
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 12
QUESTION NO: 12
WLS Embedded LDAP Server is managed by the Admin Server Console and supports which
three options?
A. Creating and Maintaining Users
B. Authentication and Authorization
C. Basic Directory for storing user details
D. Subject area and row-level security, connection pool passwords
E. Application of Session Variables as Data Filters
Answer: A,B,C
 :

QUESTION NO: 13
Point-and-click generation of case statement logic can be accessed via which option?
A. Column Formula -> Bins tab
B. Compound Layout
C. Column Properties -> Conditional Format tab
D. Advanced Tab
E. Subject Area metrics
Answer: A
Explanation: The “Edit Column Formula” dialog box has a second,
very tiny tab called, “Bins.” You can use this tab to have OBIEE
build a CASE statement for you in a formula (you can also create
a CASE statement yourself by using one of the functions that
appears under “Expressions” if you want). A CASE statement is a
lot like an IF-THEN-ELSE statement, except that it’s a little easier
to read when you have multiple options. Basically, it puts values
in different buckets that you define.
Note:
Figure:

QUESTION NO: 14
Which task can be performed after the Administrator link has been reached through logging into
OBIEE?
A. Associate map layers to columns
B. Manage access to Subject Areas
C. SSO enablement
D. Start or Stop BI Managed Servers
Answer: A
Explanation: It is asking for Which task (NOT Which Tasks).
Using Administration (not Administrator) link in OBIEE you can go to 'Manage Map Data' and
manage map components.

QUESTION NO: 15
Which three techniques are applied to support Failover?
A. WebLogic Clustering
B. Universal Installer > Scale Out BI System option
C. OBIEE Clustering
D. Vertical Scaleout
Answer: A,B,C
Explanation: A: OBIEE 11g is centred on WebLogic Server as the underlying application server
architecture.
B: If you want to scale out this infrastructure, you would typically run the OBIEE 11g installer on a
second server, and instead of choosing to do a new install, you’d choose to instead scale out the
existing BI domain.

C: OBIEE Clustering – Approach of Oracle BI Server Load balancing/Failover

QUESTION NO: 16
The Oracle BI office plug-in allows you to import the results of an OBI request into which two MS
applications?
A. MS Visio
B. MS Excel
C. MS Project
D. MS Word
Answer: B,D
Explanation: Oracle Business Intelligence Office Plug-In is a Windows application that is an
optional feature under the Oracle Business Intelligence Presentation Services. The Plug-In
provides a way to browse the Analytics catalog, select a report, and then drop that report into
Microsoft Word or Excel.
Reference: Oracle Business Intelligence Infrastructure Installation and Configuration Guide >
Installing Individual Oracle BI Components >Installing Oracle BI Office Plug-In

QUESTION NO: 17
A user's BI Home page provides one-click access to which three options?
A. Create new content
B. Oracle BI online documentation
C. Catalog search functionality
D. Dashboard layout editor
E. Business model metadata
Answer: A,B,C

Note: The BI Home page contains the BI content catalog. Fusion Apps will use OBIEE web
catalog to store all shipped reporting and analytics content.
From the BI home page users can browse and view the entire BI content. The BI catalog folder
structure will match the Fusion Apps main menu structure. Folder structure would be content
driven not technology driven which would enable ease of navigation for fusion Apps users.
Following content will be available under the BI catalog structure:
BI Publisher Reports (regardless of data source)
OTBI reports & dashboards
OBIA dashboards & scorecards
Financial Reporting
Also, users can do some additional actions from the BI Home page like: Access personal and
shared reports, View/ edit BI publisher report schedules, Launch BI tools for advanced actions and
create new reports with report wizard.
New reports created can be saved in BI catalog and added as embedded content within Fusion
applications screens or links added to reporting pane. This enables users to extend the prebuilt
embedded analytics within Fusion Applications.

QUESTION NO: 18
A customer needs to have a calculation done prior to aggregating the data. How would you
accomplish this?
A. By creating a derived measure by using the Logical Columns available
B. By creating a derived measure in the Column Mapping dialog box by using the physical table
columns.
C. By creating a derived measure by using Logic Columns available and changing the aggregation
type
D. By creating a derived metric by using the Expression Builder
E. By creating a derived metric by using the Calculation Wizard
Answer: B

Explanation:
Note 1: OBIEE offers two calculation types for measure in the repository:
logical
physical
You can define calculations in either of the following ways:
* Before the aggregation, in the logical table source.
* After the aggregation, in a logical column derived from two other logical columns. For example:
sum(col A) * sum(col B)
Note 2: A measure column is a column unlike the baseline column that has a default aggregation
rule defined in the Aggregation tab of the Logical Column dialog in the repository.
Measure columns always calculate the aggregation with which they are defined.
Measures need to be defined in a logical fact. Any column with an aggregation rule is a measure.

QUESTION NO: 19
Which resource identifies the OBIEE Web Catalog (webcat)?
A. instanceconfig.xml
B. RCU Schema
C. Identity Store
D. nqsconfig.ini
E. Admin Server
Answer: A
Explanation:
QUESTION NO: 20
The ODBC DSN is never used for _______.
A. Initial import of the physical layer metadata on a Windows server
Oracle 1z0-591 Exam
"Pass Any Exam. Any Time." - www.actualtests.com 19
B. Query execution and data access on a Windows server
C. Initial import of the physical layer metadata, query execution, and data access on a Windows
Server
D. Changing passwords
E. Comparing RPDs
Answer: E
Explanation: You do not use ODBC DSN to compare repositories.
Note: When an ODBC based application connects to a database, it connects to a logical name,
the Data Source Name (DSN), which identifies the datasource to which it wants to connect.
Some external repository of configuration information holds the various DSN values that are
available, together with the necessary configuration and control information needed by the ODBC
driver to establish a connection and manage usage of the data source.
The DSN (data source name) is a data structure that contains the information about a specific data
source (database, …), typically used by an ODBC driver to be able to connect to it.
The DSN contains information about the data source such as:
the name, the directory, and the driver. On Windows, the DSN also specifies the ODBC driver to be used to access the database.

QUESTION NO: 21
Identify the reason why Oracle OLAP provides a favorable aggregation strategy.
A. OLAP cubes eliminate the need for a large number of aggregate tables.
B. OLAP cubes are stored outside of the database in highly optimized file structures.
C. OLAP cubes can be easily transported from database to database.
D. OLAP cubes can be queried by using SQL.

Answer: D
Explanation: All metadata for cubes and dimensions is stored in the Oracle database and
revealed in the data dictionary views, so that you can query the entire business model in SQL.

QUESTION NO: 22
When Exporting an Analysis from a Dashboard, which of the following is NOT an option?
A. MS Excel
B. MS Word
C. PDF
D. CSV
Answer: B
Explanation:
QUESTION NO: 23
Which of the following characteristics pertain to a "ragged" hierarchy?
A. It can only be stored in an XML structure.
B. A branch of the hierarchy may have a different number of levels than other branches.
C. All values can have a maximum of six levels.
D. It creates multiple levels of hierarchy in the database table.
Answer: B
Explanation: Ragged Hierarchies are hierarchies where some routes down the hierarchy are
longer than others; for example, you may have an organizational hierarchy for salespeople where
the overall boss has two assistant managers, one of them works on their own and another has
three sales managers under them; some of those sales manager may have sales staff under
them, and some sales staff may have trainees under them.

QUESTION NO: 24

What is the process in which there is redundancy of data to improve performance?
A. Redundancy
B. Normalization
C. Denormalization
D. Granularity
E. Cardinality
Answer: C
Explanation: Denormalization is the process of intentionally backing away from normalization to
improve performance by suppressing join and permitting the use of star transformation technique.
Denormalization should not be the first choice for improving performance and should only be used
for fine tuning of a database for a particular application.

QUESTION NO: 25
An organization has re-implemented one of its systems but has not moved history. One database
has data for all years up to 2010 and the other has data for years from 2011 to the present. The
organization needs data from the years 2010 and 2011 on a single report. How can you model this
in the RPD?
A. By creating two Logical Fact Tables for each database
B. By creating joins in the physical model so it looks like a single table
C. By creating two logical table sources, that specify in Content tab using the Fragmentation
content areas to specify the years for each source
D. By creating two logical table sources and checking the “This Source should be combined with
other sources at this level” box leaving the Fragmentation content area blank.
E. By creating one logical table sources and checking the “This Source should be combined with
other sources at this level” box

Answer: C

HTML5 Browser Support

HTML5 Browser Support


HTML5 is supported in all modern browsers.

In addition, all browsers, old and new, automatically handle unrecognized elements as inline elements.

Because of this, you can "teach" older browsers to handle "unknown" HTML elements.

Define HTML5 Elements as Block Elements

HTML5 defines eight new semantic HTML elements. All these are block-level elements.

To secure correct behavior in older browsers, you can set the CSS display property to block:

header, section, footer, aside, nav, main, article, figure {
    display: block;
}

Adding New Elements to HTML

You can also add any new element to HTML with a browser trick.

This example adds a new element called <myHero> to HTML, and defines a display style for it:

Example

<!DOCTYPE html>
<html>
<head>
  <title>Creating an HTML Element</title>
  <script>document.createElement("myHero")</script>
  <style>
  myHero {
      display: block;
      background-color: #ddd;
      padding: 50px;
      font-size: 30px;
  }
  </style>
</head>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<myHero>My First Hero</myHero>

</body>
</html>

Problem With Internet Explorer

You could use the solution described above, for all new HTML5 elements, but:

Thankfully, Sjoerd Visscher created the "HTML5 Enabling JavaScript", "the shiv":

<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

The code above is a comment, but versions previous to IE9 will read it (and understand it).

The Complete Shiv Solution



For detail please visit w3schools



jQuery - Attributes

jQuery - Attributes

Some of the most basic components we can manipulate when it comes to DOM elements are the properties and attributes assigned to those elements.

Most of these attributes are available through JavaScript as DOM node properties. Some of the more common properties are −


  • className
  • tagName
  • id
  • href
  • title
  • rel
  • src

Consider the following HTML markup for an image element −

<img id = "imageid" src = "image.gif" alt = "Image" class = "myclass"
   title = "This is an image"/>

In this element's markup, the tag name is img, and the markup for id, src, alt, class, and title represents the element's attributes, each of which consists of a name and a value.

jQuery gives us the means to easily manipulate an element's attributes and gives us access to the element so that we can also change its properties.

Get Attribute Value

The attr() method can be used to either fetch the value of an attribute from the first element in the matched set or set attribute values onto all matched elements.

Example
Following is a simple example which fetches title attribute of <em> tag and set <div id = "divid"> value with the same value −


Set Attribute Value

The attr(name, value) method can be used to set the named attribute onto all elements in the wrapped set using the passed value.

Example
Following is a simple example which set src attribute of an image tag to a correct location −

<html>

   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("#myimg").attr("src", "/jquery/images/jquery.jpg");
         });
      </script>
   </head>
 
   <body>
      <div>
         <img id = "myimg" src = "/images/jquery.jpg" alt = "Sample image" />
      </div>
   </body>
 
</html>

Applying Styles

The addClass( classes ) method can be used to apply defined style sheets onto all the matched elements. You can specify multiple classes separated by space.

Example
Following is a simple example which sets class attribute of a para <p> tag −

<html>

   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function() {
            $("em").addClass("selected");
            $("#myid").addClass("highlight");
         });
      </script>
  
      <style>
         .selected { color:red; }
         .highlight { background:yellow; }
      </style> 
   </head>
 
   <body>
      <em title = "Bold and Brave">This is first paragraph.</em>
      <p id = "myid">This is second paragraph.</p>
   </body>
 
</html>


jQuery - Selectors

jQuery - Selectors

The jQuery library harnesses the power of Cascading Style Sheets (CSS) selectors to let us quickly and easily access elements or groups of elements in the Document Object Model (DOM).

A jQuery Selector is a function which makes use of expressions to find out matching elements from a DOM based on the given criteria. Simply you can say, selectors are used to select one or more HTML elements using jQuery. Once an element is selected then we can perform various operations on that selected element.

The element Selector

The jQuery element selector selects elements based on the element name.

You can select all <p> elements on a page like this:

$("p")

Example

When a user clicks on a button, all <p> elements will be hidden:



The #id Selector

The jQuery #id selector uses the id attribute of an HTML tag to find the specific element.

An id should be unique within a page, so you should use the #id selector when you want to find a single, unique element.

To find an element with a specific id, write a hash character, followed by the id of the HTML element:

$("#test")

Example

When a user clicks on a button, the element with id="test" will be hidden:


$(document).ready(function(){
    $("button").click(function(){
        $("#test").hide();
    });
});

The .class Selector

The jQuery class selector finds elements with a specific class.

To find elements with a specific class, write a period character, followed by the name of the class:

$(".test")

Example

When a user clicks on a button, the elements with class="test" will be hidden:


$(document).ready(function(){
    $("button").click(function(){
        $(".test").hide();
    });
});

Functions In a Separate File

If your website contains a lot of pages, and you want your jQuery functions to be easy to maintain, you can put your jQuery functions in a separate .js file.

When we demonstrate jQuery in this tutorial, the functions are added directly into the <head> section. However, sometimes it is preferable to place them in a separate file, like this (use the src attribute to refer to the .js file):

Example

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js">
</script>
<script src="my_jquery_functions.js"></script>
</head>

More Examples of jQuery Selectors

Syntax Description
$("*") Selects all elements
$(this) Selects the current HTML element
$("p.intro") Selects all <p> elements with class="intro"
$("p:first") Selects the first <p> element
$("ul li:first") Selects the first <li> element of the first <ul>
$("ul li:first-child") Selects the first <li> element of every <ul>
$("[href]") Selects all elements with an href attribute
$("a[target='_blank']") Selects all <a> elements with a target attribute value equal to "_blank"
$("a[target!='_blank']") Selects all <a> elements with a target attribute value NOT equal to "_blank"
$(":button") Selects all <button> elements and <input> elements of type="button"
$("tr:even") Selects all even <tr> elements
$("tr:odd") Selects all odd <tr> elements


Reference link www.w3schools.com


jQuery - Basics

jQuery - Basics


jQuery is a framework built using JavaScript capabilities. So while developing your applications using jQuery, you can use all the functions and other capabilities available in JavaScript.

This chapter would explain most basic concepts but frequently used in jQuery based applications.

String

A string in JavaScript is an immutable object that contains none, one or many characters.

Following are the valid examples of a JavaScript String −

"This is JavaScript String"
'This is JavaScript String'
'This is "really" a JavaScript String'
"This is 'really' a JavaScript String"

Numbers

Numbers in JavaScript are double-precision 64-bit format IEEE 754 values. They are immutable, just as strings.

Following are the valid examples of a JavaScript Numbers −

5350
120.27
0.26

Boolean

A boolean in JavaScript can be either true or false. If a number is zero, it defaults to false. If an empty string defaults to false −

Following are the valid examples of a JavaScript Boolean −

true      // true
false     // false
0         // false
1         // true
""        // false
"hello"   // true

Objects

JavaScript supports Object concept very well. You can create an object using the object literal as follows −

var emp = {
   name: "Zara",
   age: 10
};
You can write and read properties of an object using the dot notation as follows −

// Getting object properties
emp.name  // ==> Zara
emp.age   // ==> 10

// Setting object properties
emp.name = "Daisy"  // <== Daisy
emp.age  =  20      // <== 20

Arrays

You can define arrays using the array literal as follows −

var x = [];
var y = [1, 2, 3, 4, 5];
An array has a length property that is useful for iteration −

var x = [1, 2, 3, 4, 5];

for (var i = 0; i < x.length; i++) {
   // Do something with x[i]
}

Functions

A function in JavaScript can be either named or anonymous. A named function can be defined using function keyword as follows −

function named(){
   // do some stuff here
}
An anonymous function can be defined in similar way as a normal function but it would not have any name.

A anonymous function can be assigned to a variable or passed to a method as shown below.

var handler = function (){
   // do some stuff here
}
JQuery makes a use of anonymous functions very frequently as follows −

$(document).ready(function(){
   // do some stuff here
});

Arguments

JavaScript variable arguments is a kind of array which has length property. Following example explains it very well −

function func(x){
   console.log(typeof x, arguments.length);
}

func();                //==> "undefined", 0
func(1);               //==> "number", 1
func("1", "2", "3");   //==> "string", 3

The arguments object also has a callee property, which refers to the function you're inside of. For example −

function func() {
   return arguments.callee;
}

func();                // ==> func

Context

JavaScript famous keyword this always refers to the current context. Within a function this context can change, depending on how the function is called −

$(document).ready(function() {
   // this refers to window.document
});

$("div").click(function() {
   // this refers to a div DOM element
});
You can specify the context for a function call using the function-built-in methods call() and apply() methods.

The difference between them is how they pass arguments. Call passes all arguments through as arguments to the function, while apply accepts an array as the arguments.

function scope() {
   console.log(this, arguments.length);
}

scope() // window, 0
scope.call("foobar", [1,2]);  //==> "foobar", 1
scope.apply("foobar", [1,2]); //==> "foobar", 2

Scope

The scope of a variable is the region of your program in which it is defined. JavaScript variable will have only two scopes.

Global Variables − A global variable has global scope which means it is defined everywhere in your JavaScript code.

Local Variables − A local variable will be visible only within a function where it is defined. Function parameters are always local to that function.

Within the body of a function, a local variable takes precedence over a global variable with the same name −

var myVar = "global";     // ==> Declare a global variable

function ( ) {
   var myVar = "local";   // ==> Declare a local variable
   document.write(myVar); // ==> local
}

Callback

A callback is a plain JavaScript function passed to some method as an argument or option. Some callbacks are just events, called to give the user a chance to react when a certain state is triggered.

jQuery's event system uses such callbacks everywhere for example −

$("body").click(function(event) {
   console.log("clicked: " + event.target);
});
Most callbacks provide arguments and a context. In the event-handler example, the callback is called with one argument, an Event.

Some callbacks are required to return something, others make that return value optional. To prevent a form submission, a submit event handler can return false as follows −

$("#myform").submit(function() {
   return false;
});

Closures

Closures are created whenever a variable that is defined outside the current scope is accessed from within some inner scope.

Following example shows how the variable counter is visible within the create, increment, and print functions, but not outside of them −

function create() {
   var counter = 0;

   return {
      increment: function() {
         counter++;
      },

      print: function() {
         console.log(counter);
      }
   }
}

var c = create();
c.increment();
c.print();     // ==> 1
This pattern allows you to create objects with methods that operate on data that isn't visible to the outside world. It should be noted that data hiding is the very basis of object-oriented programming.

Proxy Pattern

A proxy is an object that can be used to control access to another object. It implements the same interface as this other object and passes on any method invocations to it. This other object is often called the real subject.

A proxy can be instantiated in place of this real subject and allow it to be accessed remotely. We can saves jQuery's setArray method in a closure and overwrites it as follows −

(function() {
   // log all calls to setArray
   var proxied = jQuery.fn.setArray;

   jQuery.fn.setArray = function() {
      console.log(this, arguments);
      return proxied.apply(this, arguments);
   };

})();

The above wraps its code in a function to hide the proxied variable. The proxy then logs all calls to the method and delegates the call to the original method. Using apply(this, arguments) guarantees that the caller won't be able to notice the difference between the original and the proxied method.

The Document Object Model

The Document Object Model is a tree structure of various elements of HTML as follows −




What is jQuery?

What is jQuery?

jQuery is a fast and concise JavaScript Library created by John Resig in 2006 with a nice motto − Write less, do more.

jQuery simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.

jQuery is a JavaScript toolkit designed to simplify various tasks by writing less code. Here is the list of important core features supported by jQuery −


  • DOM manipulation − The jQuery made it easy to select DOM elements, traverse them and modifying their content by using cross-browser open source selector engine called Sizzle.
  • Event handling − The jQuery offers an elegant way to capture a wide variety of events, such as a user clicking on a link, without the need to clutter the HTML code itself with event handlers.
  • AJAX Support − The jQuery helps you a lot to develop a responsive and feature-rich site using AJAX technology.
  • Animations − The jQuery comes with plenty of built-in animation effects which you can use in your websites.
  • Lightweight − The jQuery is very lightweight library - about 19KB in size ( Minified and gzipped ).
  • Cross Browser Support − The jQuery has cross-browser support, and works well in IE 6.0+, FF 2.0+, Safari 3.0+, Chrome and Opera 9.0+
  • Latest Technology − The jQuery supports CSS3 selectors and basic XPath syntax.

Why jQuery?

There are lots of other JavaScript frameworks out there, but jQuery seems to be the most popular, and also the most extendable.

Many of the biggest companies on the Web use jQuery, such as:
  • Google
  • Microsoft
  • IBM
  • Netflix

How to use jQuery?

There are two ways to use jQuery.

Local Installation − You can download jQuery library on your local machine and include it in your HTML code.

CDN Based Version − You can include jQuery library into your HTML code directly from Content Delivery Network (CDN).

Local Installation
Go to the https://jquery.com/download/ to download the latest version available.

Now put downloaded jquery-2.1.3.min.js file in a directory of your website, e.g. /jquery.

Example
Now you can include jquery library in your HTML file as follows −

CDN Based Version

You can include jQuery library into your HTML code directly from Content Delivery Network (CDN). Google and Microsoft provides content deliver for the latest version.

We are using Google CDN version of the library throughout this tutorial.

Example
Now let us rewrite above example using jQuery library from Google CDN.

<html>

   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript"
         src = "http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

      <script type = "text/javascript">
         $(document).ready(function(){
            document.write("Hello, World!");
         });
      </script>
   </head>

   <body>
      <h1>Hello</h1>
   </body>

</html>

This will produce following result −

Hello, World!

How to call a jQuery library functions?

As almost everything we do when using jQuery reads or manipulates the document object model (DOM), we need to make sure that we start adding events etc. as soon as the DOM is ready.

If you want an event to work on your page, you should call it inside the $(document).ready() function. Everything inside it will load as soon as the DOM is loaded and before the page contents are loaded.

To do this, we register a ready event for the document as follows −

$(document).ready(function() {
   // do stuff when DOM is ready
});

How to use Custom Scripts?
It is better to write our custom code in the custom JavaScript file : custom.js, as follows −

/* Filename: custom.js */
$(document).ready(function() {

   $("div").click(function() {
      alert("Hello, world!");
   });

});

For more detail tutorialspoint



jQuery Tutorial

jQuery Tutorial

jQuery is a fast and concise JavaScript library created by John Resig in 2006. jQuery simplifies HTML document traversing, event handling, animating, and Ajax interactions for Rapid Web Development.

Prerequisites

Before proceeding with this tutorial, you should have a basic understanding of HTML, CSS, JavaScript, Document Object Model (DOM) and any text editor. As we are going to develop web based application using jQuery, it will be good if you have understanding on how internet and web based applications work.